maq-0.7.1/ 0000755 0000766 0000024 00000000000 11067173056 010655 5 ustar lh3 staff maq-0.7.1/AUTHORS 0000644 0000766 0000024 00000000057 10766735650 011740 0 ustar lh3 staff
Heng Li wrote all the codes of this project.
maq-0.7.1/COPYING 0000644 0000766 0000024 00000104513 11043135375 011710 0 ustar lh3 staff GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
Copyright (C)
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
.
maq-0.7.1/ChangeLog 0000644 0000766 0000024 00000433107 11065656462 012444 0 ustar lh3 staff ------------------------------------------------------------------------
r666 | lh3lh3 | 2008-09-21 20:31:54 +0100 (Sun, 21 Sep 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/eland2maq.cc
updated novo2maq
------------------------------------------------------------------------
r665 | lh3lh3 | 2008-09-17 13:09:01 +0100 (Wed, 17 Sep 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/fq_all2std.pl
* fq_all2std.pl-0.1.7
* convert fastq to .seq+.qual format
------------------------------------------------------------------------
r662 | lh3lh3 | 2008-09-08 14:09:02 +0100 (Mon, 08 Sep 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/simulate.c
* maq-0.6.8-5
* fixed a flaw in simulate.c
------------------------------------------------------------------------
r661 | lh3lh3 | 2008-09-04 22:44:59 +0100 (Thu, 04 Sep 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/dword.hh
M /branches/lh3/maq/eland2maq.cc
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/maqmap.h
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.8-4
* support long reads and this is the default. It works on toy examples.
Further testing is needed.
* Fixed a bug in novo2maq
------------------------------------------------------------------------
r660 | lh3lh3 | 2008-09-04 20:01:44 +0100 (Thu, 04 Sep 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/stdaln.c
M /branches/lh3/maq/stdaln.h
* maq-0.6.8-3
* apparently fixed a segfault in indelpe
* reduce debugging information in indelpe
------------------------------------------------------------------------
r659 | lh3lh3 | 2008-08-27 09:25:33 +0100 (Wed, 27 Aug 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/bfa.c
M /branches/lh3/maq/bfa.h
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.cc
* maq-0.6.8-2
* map: better stats
* indelpe: better boundary check, but it still segfaults
------------------------------------------------------------------------
r657 | lh3lh3 | 2008-08-19 09:53:26 +0100 (Tue, 19 Aug 2008) | 9 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/eland2maq.cc
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/scripts/asub
M /branches/lh3/maq/scripts/fq_all2std.pl
* maq-0.6.8-1
* map: added -W to disable Smith-Waterman alignment. It segfaults for
Aylwyn's alignment and I have not figured out the cause.
* Added novo2map to convert novocraft alignment to .map, provided by Colin.
* fq_all2std.pl: added std2sol to convert Sanger fastq to Solexa fastq
* asub-0.1.5: added -M to set maximum memory on Sanger's farm; added -n
to specify the maximum cores for parallel jobs
------------------------------------------------------------------------
r651 | lh3lh3 | 2008-07-27 17:07:44 +0100 (Sun, 27 Jul 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
Release maq-0.6.8
------------------------------------------------------------------------
r648 | lh3lh3 | 2008-07-27 13:38:43 +0100 (Sun, 27 Jul 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/maq.pod
update man page
------------------------------------------------------------------------
r647 | lh3lh3 | 2008-07-27 00:19:13 +0100 (Sun, 27 Jul 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/configure.ac
* maq-0.6.8-9
* fixed a potential compiling error in assopt.c
------------------------------------------------------------------------
r646 | lh3lh3 | 2008-07-24 15:46:31 +0100 (Thu, 24 Jul 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/COPYING
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
* maq-0.6.7-8
* fixed a potential bug in indel_pe.cc
* change COPYING to GPLv3
------------------------------------------------------------------------
r645 | lh3lh3 | 2008-07-24 15:45:47 +0100 (Thu, 24 Jul 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_plot.pl
use /usr/bin/perl instead of /usr/local/bin/perl
------------------------------------------------------------------------
r644 | lh3lh3 | 2008-07-24 15:45:08 +0100 (Thu, 24 Jul 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq_sanger.pl-0.1.16
* support .fq
------------------------------------------------------------------------
r643 | lh3lh3 | 2008-07-16 10:08:41 +0100 (Wed, 16 Jul 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/mapcheck.cc
* maq-0.6.7-7
* mapcheck: fixed a bug caused by previous modification
------------------------------------------------------------------------
r642 | lh3lh3 | 2008-07-16 09:51:40 +0100 (Wed, 16 Jul 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/mapcheck.cc
* maq-0.6.7-6
* mapcheck: fixed a bug in the last modification
------------------------------------------------------------------------
r641 | lh3lh3 | 2008-07-15 15:16:52 +0100 (Tue, 15 Jul 2008) | 7 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/mapcheck.cc
M /branches/lh3/maq/scripts/maq_sanger.pl
M /branches/lh3/maq/scripts/paf_utils.pl
* paf_utils.pl-0.3.2
* partially support novoalign/novopaired
* maq_sanger.pl-0.1.15
* dump unmapped reads
* maq-0.6.7-5
* filter out know polymorphic positions
------------------------------------------------------------------------
r640 | lh3lh3 | 2008-06-29 09:58:27 +0100 (Sun, 29 Jun 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.7-4
* map: only dump unmapped reads
------------------------------------------------------------------------
r637 | lh3lh3 | 2008-06-26 13:57:37 +0100 (Thu, 26 Jun 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/glfgen.cc
* maq-0.6.7-3
* fixed a memory leak
------------------------------------------------------------------------
r635 | lh3lh3 | 2008-06-25 20:36:31 +0100 (Wed, 25 Jun 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/configure.ac
* maq-0.6.7-2
* assemble: change default -t to 0.85
------------------------------------------------------------------------
r634 | lh3lh3 | 2008-06-25 17:02:41 +0100 (Wed, 25 Jun 2008) | 2 lines
Changed paths:
A /branches/lh3/glf
A /branches/lh3/glf/Makefile
A /branches/lh3/glf/glf.c
A /branches/lh3/glf/glf.h
A /branches/lh3/glf/glf_main.c
A /branches/lh3/glf/izlib
A /branches/lh3/glf/izlib/Makefile
A /branches/lh3/glf/izlib/adler32.c
A /branches/lh3/glf/izlib/compress.c
A /branches/lh3/glf/izlib/crc32.c
A /branches/lh3/glf/izlib/crc32.h
A /branches/lh3/glf/izlib/deflate.c
A /branches/lh3/glf/izlib/deflate.h
A /branches/lh3/glf/izlib/gzio.c
A /branches/lh3/glf/izlib/infback.c
A /branches/lh3/glf/izlib/inffast.c
A /branches/lh3/glf/izlib/inffast.h
A /branches/lh3/glf/izlib/inffixed.h
A /branches/lh3/glf/izlib/inflate.c
A /branches/lh3/glf/izlib/inflate.h
A /branches/lh3/glf/izlib/inftrees.c
A /branches/lh3/glf/izlib/inftrees.h
A /branches/lh3/glf/izlib/izio.c
A /branches/lh3/glf/izlib/izlib.h
A /branches/lh3/glf/izlib/trees.c
A /branches/lh3/glf/izlib/trees.h
A /branches/lh3/glf/izlib/uncompr.c
A /branches/lh3/glf/izlib/zconf.h
A /branches/lh3/glf/izlib/zindex.c
A /branches/lh3/glf/izlib/zlib.h
A /branches/lh3/glf/izlib/zran.c
A /branches/lh3/glf/izlib/zutil.c
A /branches/lh3/glf/izlib/zutil.h
A /branches/lh3/glf/stdhash
A /branches/lh3/glf/stdhash/Makefile
A /branches/lh3/glf/stdhash/simple_test.c
A /branches/lh3/glf/stdhash/stdhash.hh
A /branches/lh3/glf/stdhash/stdhash_test.cc
A /branches/lh3/glf/stdhash/stdhashc.cc
A /branches/lh3/glf/stdhash/stdhashc.h
M /branches/lh3/maq/configure.ac
utilities for .glz format
------------------------------------------------------------------------
r633 | lh3lh3 | 2008-06-25 15:20:49 +0100 (Wed, 25 Jun 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
A /branches/lh3/maq/glf.h
A /branches/lh3/maq/glfgen.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
* maq-0.6.7-1
* add glfgen
* fixed a bug in assemble
* the default parameters should be updated due to that bug!!!
------------------------------------------------------------------------
r630 | lh3lh3 | 2008-06-23 15:03:02 +0100 (Mon, 23 Jun 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/maq.pod
Release maq-0.6.7
------------------------------------------------------------------------
r629 | lh3lh3 | 2008-06-23 14:48:36 +0100 (Mon, 23 Jun 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/maq.pod
* update ChangeLog and maq.pod
* prepare to release maq-0.6.7
------------------------------------------------------------------------
r628 | lh3lh3 | 2008-06-23 14:47:15 +0100 (Mon, 23 Jun 2008) | 6 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.4.7
* SNPfilter: also filter on consensus quality
* easyrun: change for SNPfilter. cns.filter.snp is now a symbolic link to
cns.final.snp
* easyrun: do not apply splitread by default
------------------------------------------------------------------------
r627 | lh3lh3 | 2008-06-23 14:45:15 +0100 (Mon, 23 Jun 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
* maq_eval.pl-0.1.11
* geno: print lines where genotyping calls a hom, but maq calls differently
------------------------------------------------------------------------
r626 | lh3lh3 | 2008-06-17 15:54:06 +0100 (Tue, 17 Jun 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
A /branches/lh3/maq/break_pair.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/mapcheck.cc
* maq-0.6.6-14
* add breakpair: for David's script
* mapcheck: output the count of qualities - also for David's script
------------------------------------------------------------------------
r625 | lh3lh3 | 2008-06-17 14:46:26 +0100 (Tue, 17 Jun 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.4.6
* SNPfilter: improve indel filter, as maq always puts the indel at the
beginning of a homopolymer run
* easyrun: allow to skip splitread indel detection
------------------------------------------------------------------------
r624 | lh3lh3 | 2008-06-17 14:43:52 +0100 (Tue, 17 Jun 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
* maq_eval.pl-0.1.10
* improve the evaluation of indelpe
------------------------------------------------------------------------
r623 | lh3lh3 | 2008-06-06 14:05:20 +0100 (Fri, 06 Jun 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.4.4
* indelpe: fix a bug in parsing command-line options
* indelpe: change the default options
------------------------------------------------------------------------
r622 | lh3lh3 | 2008-06-05 20:54:14 +0100 (Thu, 05 Jun 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
M /branches/lh3/maq/indel_call.cc
M /branches/lh3/maq/merge.cc
M /branches/lh3/maq/scripts/maq.pl
* maq-0.6.6-13
* indelpe: output number of mismatches of reads mapped without indels
* maq.pl-0.4.3
* filter based on this information
------------------------------------------------------------------------
r621 | lh3lh3 | 2008-05-30 00:04:55 +0100 (Fri, 30 May 2008) | 7 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
M /branches/lh3/maq/indel_call.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/maqmap.c
M /branches/lh3/maq/merge.cc
M /branches/lh3/maq/scripts/maq.pl
* maq-0.6.6-11
* indelpe: output indel bases
* mapmerge: detect corrupted .map files
* add mapvalidate: detect correpted .map files
* maq.pl
* add indelpe: correct counts for homopolymer runs
------------------------------------------------------------------------
r620 | lh3lh3 | 2008-05-24 10:06:20 +0100 (Sat, 24 May 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
M /branches/lh3/maq/indel_call.cc
M /branches/lh3/maq/indel_pe.cc
* maq-0.6.6-10
* fixed bug in map: positions for insertions are shifted by 1bp
* output more information about indel
* have NOT tested yet
------------------------------------------------------------------------
r619 | lh3lh3 | 2008-05-23 12:40:03 +0100 (Fri, 23 May 2008) | 7 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/sort_mapping.cc
M /branches/lh3/maq/submap.c
* maq-0.6.6-9
* also put unmapped reads in a pair in the alignment file. it will get
a flag 192
* fix a bug in submap
* map: give an error when -n 0 is used
------------------------------------------------------------------------
r618 | lh3lh3 | 2008-05-21 15:14:57 +0100 (Wed, 21 May 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.4.2
* change filters for splitread indels
------------------------------------------------------------------------
r617 | lh3lh3 | 2008-05-19 11:58:17 +0100 (Mon, 19 May 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/scripts/maq_sanger.pl
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.6-8
* map: fix a bug for alignment on Illumina long insert-size library
* maq_sanger.pl-0.1.14
* support long insert library
------------------------------------------------------------------------
r616 | lh3lh3 | 2008-05-18 23:56:48 +0100 (Sun, 18 May 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.6-7
* map: option to output pair-2-diff flag (for splitread ONLY)
------------------------------------------------------------------------
r615 | lh3lh3 | 2008-05-18 23:55:09 +0100 (Sun, 18 May 2008) | 7 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.4.1
* easyrun: more options for parameter tuning
* SNPfilter: filter for splitread indels
* SNPfilter: change default indel window to 5
* SNPfilter: remove the hidden filter
* easyrun: filter for splitread indels
------------------------------------------------------------------------
r614 | lh3lh3 | 2008-05-18 18:31:38 +0100 (Sun, 18 May 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.4.0
* splitread: find short indels by SplitRead (VERY SLOW)
------------------------------------------------------------------------
r613 | lh3lh3 | 2008-05-17 16:00:09 +0100 (Sat, 17 May 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/scripts/maq.pl
* maq-0.6.6-6
* reduce the minimum read length to 12
------------------------------------------------------------------------
r612 | lh3lh3 | 2008-05-17 13:56:45 +0100 (Sat, 17 May 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.3.13
* sv: fix a bug
------------------------------------------------------------------------
r611 | lh3lh3 | 2008-05-14 22:37:24 +0100 (Wed, 14 May 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/scripts/maq.pl
M /branches/lh3/maq/sort_mapping.cc
* maq.pl-0.3.13
* change default quality cut-off to 40
* maq-0.6.6-5
* map: long insert-size seems to work
------------------------------------------------------------------------
r610 | lh3lh3 | 2008-05-14 17:11:00 +0100 (Wed, 14 May 2008) | 13 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/scripts/maq.pl
* maq-0.6.6-4
* assemble: fix a minor bug since 0.6.4, which may affect a small fraction
of SNP calls.
* assemble: a tiny fix for approximation
* assemble: add independent model, but it does not work well at all (maybe
another bug?).
* assemble: output debugging information
* cns2snp/cns2view: output base2, base3 and qual2
* map: long insert-size codes have not been tested at all
* maq.pl-0.3.12
* easyrun: add more options
* easyrun: change consensus quality filter to (I think) the correct way
------------------------------------------------------------------------
r609 | lh3lh3 | 2008-05-11 19:57:27 +0100 (Sun, 11 May 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.6-3
* initial codes for Illumina long insert library, not tested at all
------------------------------------------------------------------------
r608 | lh3lh3 | 2008-05-05 21:32:46 +0100 (Mon, 05 May 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/configure.ac
* maq-0.6.6-2
* initial codes for pooled sample, which apparently work but not tested.
------------------------------------------------------------------------
r607 | lh3lh3 | 2008-05-01 10:55:49 +0100 (Thu, 01 May 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
M /branches/lh3/maq/scripts/maq_post.pl
* maq_eval.pl-0.1.8
* fix a bug when length >2Gbp
* maq_post.pl-0.1.2
* fix a bug when hapmap2.snp is not present
------------------------------------------------------------------------
r606 | lh3lh3 | 2008-04-30 14:04:41 +0100 (Wed, 30 Apr 2008) | 3 lines
Changed paths:
A /branches/lh3/maq/scripts/maq_post.pl
M /branches/lh3/maq/scripts/maq_sanger.pl
* add maq_post.pl: post process the maq alignment (for Sanger only)
* remove aln.map.touch in the end
------------------------------------------------------------------------
r601 | lh3lh3 | 2008-04-27 19:52:12 +0100 (Sun, 27 Apr 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/FUTURES
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
Release maq-0.6.6
------------------------------------------------------------------------
r600 | lh3lh3 | 2008-04-27 19:24:25 +0100 (Sun, 27 Apr 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/match.cc
* maq-0.6.5-3
* map: fix a bug in dumping multi-hit
* add "map -H/-C" to manual page
------------------------------------------------------------------------
r597 | lh3lh3 | 2008-04-22 23:19:43 +0100 (Tue, 22 Apr 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/mapcheck.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/read.h
* maq-0.6.5-2
* add to mapcheck.cc
* output multiple 01-mismatch hits
------------------------------------------------------------------------
r596 | lh3lh3 | 2008-04-22 21:57:19 +0100 (Tue, 22 Apr 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
trivial...
------------------------------------------------------------------------
r595 | lh3lh3 | 2008-04-22 13:10:32 +0100 (Tue, 22 Apr 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
* maq_eval.pl-0.1.7
* print out wrong SNPs for mono sites
------------------------------------------------------------------------
r593 | lh3lh3 | 2008-04-20 22:03:15 +0100 (Sun, 20 Apr 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/simulate.c
* maq-0.6.5-1
* spot a bug in simulate.c. not fixed, yet
* non-SNPable regions are masked as lowcase letters
------------------------------------------------------------------------
r592 | lh3lh3 | 2008-04-20 22:01:49 +0100 (Sun, 20 Apr 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq_sanger.pl-0.1.12
* allow to set maximum read length
------------------------------------------------------------------------
r590 | lh3lh3 | 2008-04-19 21:58:27 +0100 (Sat, 19 Apr 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq_sanger.pl-0.1.11
* remove read name filtering
* support alignment for reads in Solexa fastq format
------------------------------------------------------------------------
r589 | lh3lh3 | 2008-04-19 20:29:15 +0100 (Sat, 19 Apr 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq_sanger.pl-0.1.10
* add gzip support
* filtering read names (NOT use that!)
------------------------------------------------------------------------
r588 | lh3lh3 | 2008-04-19 20:25:54 +0100 (Sat, 19 Apr 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.3.11
* support .gz files in cat2pair
------------------------------------------------------------------------
r587 | lh3lh3 | 2008-04-18 19:34:32 +0100 (Fri, 18 Apr 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
fix a bug
------------------------------------------------------------------------
r586 | lh3lh3 | 2008-04-12 00:01:50 +0100 (Sat, 12 Apr 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/asub
* asub-0.1.3
* add job dependency for SGE (have not tested yet)
* add instructions
------------------------------------------------------------------------
r585 | lh3lh3 | 2008-04-12 00:01:04 +0100 (Sat, 12 Apr 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq_sanger.pl-0.1.8
* change default parameters
------------------------------------------------------------------------
r581 | lh3lh3 | 2008-04-01 22:48:26 +0100 (Tue, 01 Apr 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/NEWS
clarifying some ambiguous point
------------------------------------------------------------------------
r580 | lh3lh3 | 2008-04-01 22:10:33 +0100 (Tue, 01 Apr 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/fq_all2std.pl
M /branches/lh3/maq/scripts/maq.pl
* fq_all2std.pl-0.1.6
* maq.pl-0.3.10
* for convert the latest Illumina data
------------------------------------------------------------------------
r577 | lh3lh3 | 2008-03-28 23:26:11 +0000 (Fri, 28 Mar 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
Release maq-0.6.5
------------------------------------------------------------------------
r576 | lh3lh3 | 2008-03-28 22:17:11 +0000 (Fri, 28 Mar 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/configure.ac
* maq-0.6.4-9
* assemble: fix a bug when reference is shorter than 3bp
* update ChangeLog
* prepare to release maq-0.6.5
------------------------------------------------------------------------
r575 | lh3lh3 | 2008-03-28 22:12:40 +0000 (Fri, 28 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/paf_utils.pl
* paf_utils.pl-0.3.1
* output normodds score if available
------------------------------------------------------------------------
r574 | lh3lh3 | 2008-03-27 13:02:07 +0000 (Thu, 27 Mar 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/csmap2ntmap.cc
M /branches/lh3/maq/simulate.c
* maq-0.6.4-8
* fix a critical bug in csmap2nt
* fix a potential memory violation in simulate. Thank Zamin Iqbal.
------------------------------------------------------------------------
r572 | lh3lh3 | 2008-03-26 23:06:33 +0000 (Wed, 26 Mar 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/csmap2ntmap.cc
* maq-0.6.4-7
* csmap2nt: remove the last color (this will not affect the result)
* update ChangeLog
* prepare to do the final test before release
------------------------------------------------------------------------
r570 | lh3lh3 | 2008-03-26 11:22:10 +0000 (Wed, 26 Mar 2008) | 8 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/rmdup.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.4-6
* pair-dist is now the distance between 5'-end of the read. SOLiD distance
will be affected.
* the new distance may avoid potential inconsistency in previous version
* for SOLiD, use PE mapping quality if there are 3 or fewer mismatches
* in rmdup, avoid discarding some read pairs. However, it may still drop
some read pairs with very short insert size.
------------------------------------------------------------------------
r569 | lh3lh3 | 2008-03-25 22:16:43 +0000 (Tue, 25 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_soa.cc
* maq-0.6.4-5
* fix a potential memory violation indelsoa
------------------------------------------------------------------------
r568 | lh3lh3 | 2008-03-25 15:28:11 +0000 (Tue, 25 Mar 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/csmap2ntmap.cc
* maq-0.6.4-4
* use dynamic programming to decode the nucleotide sequence. DP is more robust
and consistent.
------------------------------------------------------------------------
r563 | lh3lh3 | 2008-03-25 13:08:06 +0000 (Tue, 25 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/csmap2ntmap.cc
A /branches/lh3/maq-nt (from /branches/lh3/maq-xp:468)
D /branches/lh3/maq-xp
* maq (unfinished changes)
* rename maq-xp as maq-nt
------------------------------------------------------------------------
r559 | lh3lh3 | 2008-03-24 22:06:29 +0000 (Mon, 24 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.3.9
* add "-n" to SNPfilter
------------------------------------------------------------------------
r558 | lh3lh3 | 2008-03-24 21:59:50 +0000 (Mon, 24 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
* maq_eval.pl-0.1.6
* improve geno
------------------------------------------------------------------------
r557 | lh3lh3 | 2008-03-24 20:33:32 +0000 (Mon, 24 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.3.8
* add a hidden parameter to SNPfilter
------------------------------------------------------------------------
r554 | lh3lh3 | 2008-03-23 21:02:23 +0000 (Sun, 23 Mar 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/configure.ac
A /branches/lh3/maq/csmap2ntmap.cc
M /branches/lh3/maq/indel_call.cc
M /branches/lh3/maq/indel_soa.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/mapcheck.cc
M /branches/lh3/maq/pileup.cc
* maq-0.6.4-2
* fix potential memory leak in assemble, pileup, indelpe, indelsoa, mapcheck
* add csmap2nt, which converts cs .map file to nt .map file
now SOLiD support has been accompished
------------------------------------------------------------------------
r553 | lh3lh3 | 2008-03-23 16:07:24 +0000 (Sun, 23 Mar 2008) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/scripts/paf_utils.pl
M /branches/lh3/maq/sort_mapping.cc
* paf_utils.pl-0.3.0
* add parser for shrimp
* fix various bugs
* maq-0.6.4-1
* fix a bug related to long read names
------------------------------------------------------------------------
r549 | lh3lh3 | 2008-03-21 14:33:14 +0000 (Fri, 21 Mar 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/solid2fastq.pl
A /branches/lh3/raf
A /branches/lh3/raf/Makefile
A /branches/lh3/raf/btree.c
A /branches/lh3/raf/btree.h
A /branches/lh3/raf/raf.c
A /branches/lh3/raf/raf.h
A /branches/lh3/raf/raf_index.c
A /branches/lh3/raf/raf_index.h
A /branches/lh3/raf/raf_main.c
A /branches/lh3/raf/stdhash
A /branches/lh3/raf/stdhash/stdhash.hh
A /branches/lh3/raf/stdhash/stdhashc.cc
A /branches/lh3/raf/stdhash/stdhashc.h
A /branches/lh3/raf/zrlib
A /branches/lh3/raf/zrlib/Makefile
A /branches/lh3/raf/zrlib/adler32.c
A /branches/lh3/raf/zrlib/compress.c
A /branches/lh3/raf/zrlib/crc32.c
A /branches/lh3/raf/zrlib/crc32.h
A /branches/lh3/raf/zrlib/deflate.c
A /branches/lh3/raf/zrlib/deflate.h
A /branches/lh3/raf/zrlib/gzio.c
A /branches/lh3/raf/zrlib/infback.c
A /branches/lh3/raf/zrlib/inffast.c
A /branches/lh3/raf/zrlib/inffast.h
A /branches/lh3/raf/zrlib/inffixed.h
A /branches/lh3/raf/zrlib/inflate.c
A /branches/lh3/raf/zrlib/inflate.h
A /branches/lh3/raf/zrlib/inftrees.c
A /branches/lh3/raf/zrlib/inftrees.h
A /branches/lh3/raf/zrlib/trees.c
A /branches/lh3/raf/zrlib/trees.h
A /branches/lh3/raf/zrlib/uncompr.c
A /branches/lh3/raf/zrlib/zconf.h
A /branches/lh3/raf/zrlib/zlib.h
A /branches/lh3/raf/zrlib/zrio.c
A /branches/lh3/raf/zrlib/zrio.h
A /branches/lh3/raf/zrlib/zrio_main.c
A /branches/lh3/raf/zrlib/zutil.c
A /branches/lh3/raf/zrlib/zutil.h
This is Jue's maqindex, but C interface has been changed by me.
------------------------------------------------------------------------
r545 | lh3lh3 | 2008-03-16 19:57:55 +0000 (Sun, 16 Mar 2008) | 2 lines
Changed paths:
A /branches/lh3/maq/scripts/solid2fastq.pl
convert SOLiD read format to fastq
------------------------------------------------------------------------
r536 | lh3lh3 | 2008-03-15 11:51:08 +0000 (Sat, 15 Mar 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
Release maq-0.6.4
------------------------------------------------------------------------
r535 | lh3lh3 | 2008-03-15 11:03:40 +0000 (Sat, 15 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.3.7
* fixed a bug in path recognization
------------------------------------------------------------------------
r534 | lh3lh3 | 2008-03-15 11:02:36 +0000 (Sat, 15 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq_sanger.pl-0.1.6
* fix a bug
------------------------------------------------------------------------
r533 | lh3lh3 | 2008-03-14 23:26:02 +0000 (Fri, 14 Mar 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/paf_utils.pl
* paf_utils.pl-0.2.1
* improve the parser
* add instructions
------------------------------------------------------------------------
r532 | lh3lh3 | 2008-03-14 21:38:01 +0000 (Fri, 14 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/paf_utils.pl
* paf_utils.pl-0.2.0
* convert .mapview file to .map
------------------------------------------------------------------------
r531 | lh3lh3 | 2008-03-14 12:52:21 +0000 (Fri, 14 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/subsnp.cc
* maq-0.6.3-34
* snpreg: also filter on the neighbouring quality
------------------------------------------------------------------------
r530 | lh3lh3 | 2008-03-14 10:36:28 +0000 (Fri, 14 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/fq_all2std.pl
* fq_all2std.pl-0.1.5
* change for latest Illumina format
------------------------------------------------------------------------
r529 | lh3lh3 | 2008-03-13 23:54:17 +0000 (Thu, 13 Mar 2008) | 6 lines
Changed paths:
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/scripts/maq.pl
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq.pl-0.3.6
* change default -D in SNPfilter
* maq_sanger.pl-0.1.5
* skip directories
* update documentations
------------------------------------------------------------------------
r528 | lh3lh3 | 2008-03-12 23:18:08 +0000 (Wed, 12 Mar 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
* maq-0.6.3-33
* Contradictary to my intuition, use 24bit in indexing is faster than 25bit
indexing. Probably due to the cache efficiency (again)...
------------------------------------------------------------------------
r527 | lh3lh3 | 2008-03-12 21:26:59 +0000 (Wed, 12 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
* maq-0.6.3-32
* further improve cache efficiency a bit
------------------------------------------------------------------------
r526 | lh3lh3 | 2008-03-12 15:09:55 +0000 (Wed, 12 Mar 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/configure.ac
fix a bug in configure
------------------------------------------------------------------------
r525 | lh3lh3 | 2008-03-12 14:58:16 +0000 (Wed, 12 Mar 2008) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
* maq-0.6.3-31
* change macro _LONGSEED to _FASTMAP
* in `fastmap' mode, seed_length=28, max_mismatch=3 and index_length=25
* attempt to reduce the cache misses to the retrieval of seq->*
* from this veersion, only seed length is at most 32bp
------------------------------------------------------------------------
r524 | lh3lh3 | 2008-03-11 23:57:58 +0000 (Tue, 11 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
* maq-0.6.3-30
* further improve cache efficiency a bit
------------------------------------------------------------------------
r523 | lh3lh3 | 2008-03-11 19:37:50 +0000 (Tue, 11 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
* maq-0.6.3-29
* add macro to use longer seed
------------------------------------------------------------------------
r522 | lh3lh3 | 2008-03-10 09:44:10 +0000 (Mon, 10 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/submap.c
* maq-0.6.3-28
* submap now acts as a filter for .map file
------------------------------------------------------------------------
r521 | lh3lh3 | 2008-03-07 11:07:48 +0000 (Fri, 07 Mar 2008) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/fastq2bfq.c
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-27
* fix a bug in "maq map -N"
* replace dw_shrink with a bit-shift function
* a bit code clean up
* attempt to improve the cache efficiency a bit (little effect though)
------------------------------------------------------------------------
r520 | lh3lh3 | 2008-03-07 08:53:22 +0000 (Fri, 07 Mar 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-26
------------------------------------------------------------------------
r519 | lh3lh3 | 2008-03-06 20:31:19 +0000 (Thu, 06 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/paf_utils.pl
* paf_utils.pl-0.1.3
* add parser for rmap
------------------------------------------------------------------------
r518 | lh3lh3 | 2008-03-06 20:30:36 +0000 (Thu, 06 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq_sanger.pl-0.1.4
* fix a bug about the path of asub
------------------------------------------------------------------------
r517 | lh3lh3 | 2008-03-04 21:12:00 +0000 (Tue, 04 Mar 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
* maq-0.6.3-25
* indel-pe apprarently works for SOLiD
------------------------------------------------------------------------
r516 | lh3lh3 | 2008-03-04 20:42:33 +0000 (Tue, 04 Mar 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-24
* for SOLiD: "add pair afterward" now works
* wait, I am going to add gapped alignment for SOLiD
------------------------------------------------------------------------
r515 | lh3lh3 | 2008-03-04 20:24:26 +0000 (Tue, 04 Mar 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/dword.hh
M /branches/lh3/maq/match_aux.cc
* maq-0.6.3-23
* fix an ever existing bug. it is a typo actually...
* wait, I will improve the part for SOLiD a bit later...
------------------------------------------------------------------------
r514 | lh3lh3 | 2008-03-04 16:02:25 +0000 (Tue, 04 Mar 2008) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/scripts/maq_sanger.pl
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-22
* fix a rare bug about minus insert size for ungapped alignment
* fix a rare bug about extensive insert size for gapped alignment
* maq_sanger.pl-0.1.4
* add resource request by default
------------------------------------------------------------------------
r513 | lh3lh3 | 2008-03-03 15:36:15 +0000 (Mon, 03 Mar 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/scripts/fq_all2std.pl
M /branches/lh3/maq/scripts/maq_sanger.pl
* fq_all2std.pl-0.1.4
* export2xxx: change for the latest export format
* maq_sanger.pl-0.1.3
* add an example
------------------------------------------------------------------------
r512 | lh3lh3 | 2008-03-03 11:01:57 +0000 (Mon, 03 Mar 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/read.cc
* maq-0.6.3-21
* skip Smith-Waterman alignment if too few reads get mapped in pairs.
* abort (instead of segfault) if all the reads are full of "N".
* filtering polyA for single end reads now works
------------------------------------------------------------------------
r511 | lh3lh3 | 2008-03-03 10:57:16 +0000 (Mon, 03 Mar 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_sanger.pl
maq_sanger.pl now works with single end data from the Sanger Inst.
------------------------------------------------------------------------
r510 | lh3lh3 | 2008-03-02 10:51:57 +0000 (Sun, 02 Mar 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/scripts/maq_sanger.pl
* maq-0.6.3-20
* fix a stupid bug caused by the last modification
* improve maq_sanger.pl
------------------------------------------------------------------------
r509 | lh3lh3 | 2008-03-01 23:02:25 +0000 (Sat, 01 Mar 2008) | 3 lines
Changed paths:
A /branches/lh3/maq/scripts/asub
A /branches/lh3/maq/scripts/maq_sanger.pl
* asub: array-sub
* maq_sanger.pl: do alignment in batch, for Sanger Inst's format ONLY
------------------------------------------------------------------------
r508 | lh3lh3 | 2008-03-01 22:33:01 +0000 (Sat, 01 Mar 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
a bug in SOLiD PE alignment
------------------------------------------------------------------------
r507 | lh3lh3 | 2008-03-01 17:10:28 +0000 (Sat, 01 Mar 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-18
* assemble: change default -t to 0.93
* map: for SOLiD reads, the correct orientation is:
FF-read2-read1 or RR-read1-read2
------------------------------------------------------------------------
r506 | lh3lh3 | 2008-03-01 17:08:23 +0000 (Sat, 01 Mar 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
M /branches/lh3/maq/scripts/paf_utils.pl
* paf_utils.pl-0.1.2
* loose the criterion for a correct alignment (SOAP is troublesome)
* maq.pl-0.3.5
* filter on neighboring qualities
------------------------------------------------------------------------
r505 | lh3lh3 | 2008-03-01 00:09:05 +0000 (Sat, 01 Mar 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match_aux.cc
* maq-0.6.3-17
* mapstat: set the maximum mapQ as 99
* update ChangeLog
* fix a theoretical flaw in assemble. the accuracy affected little.
------------------------------------------------------------------------
r504 | lh3lh3 | 2008-02-29 13:31:26 +0000 (Fri, 29 Feb 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/scripts/fq_all2std.pl
M /branches/lh3/maq/scripts/paf_utils.pl
* paf_utils.pl-0.1.1
* print wrong alignment on demand
* fq_all2std.pl-0.1.3
* convert Bustard output (_prb.txt and _seq.txt) to fastq
------------------------------------------------------------------------
r503 | lh3lh3 | 2008-02-27 23:37:39 +0000 (Wed, 27 Feb 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/subsnp.cc
* maq-0.6.3-16
* calclate minimum neighbouring quality for each site
* cns2snp/subpos are revised accordingly
------------------------------------------------------------------------
r502 | lh3lh3 | 2008-02-27 22:17:53 +0000 (Wed, 27 Feb 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/configure.ac
* maq-0.6.3.-15
* fix a theoretical error in `assemble'
* the performance is quite close to the previous version
------------------------------------------------------------------------
r501 | lh3lh3 | 2008-02-25 14:42:28 +0000 (Mon, 25 Feb 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
D /branches/lh3/maq/scripts/parse_aln.pl
* maq_eval.pl-0.1.5
* add a less used hidden command for estimating FP. only for my own use.
* parse_aln.pl has been renamed as saf_utils.pl
------------------------------------------------------------------------
r500 | lh3lh3 | 2008-02-25 11:39:29 +0000 (Mon, 25 Feb 2008) | 2 lines
Changed paths:
A /branches/lh3/maq/scripts/paf_utils.pl (from /branches/lh3/maq/scripts/saf_utils.pl:499)
D /branches/lh3/maq/scripts/saf_utils.pl
rename saf_utils.pl as paf_utils.pl
------------------------------------------------------------------------
r499 | lh3lh3 | 2008-02-25 11:38:57 +0000 (Mon, 25 Feb 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/saf_utils.pl
prepare to rename as paf_utils.pl
------------------------------------------------------------------------
r498 | lh3lh3 | 2008-02-25 11:22:07 +0000 (Mon, 25 Feb 2008) | 2 lines
Changed paths:
D /branches/lh3/maq/scripts/gaf_utils.pl
A /branches/lh3/maq/scripts/saf_utils.pl (from /branches/lh3/maq/scripts/gaf_utils.pl:497)
rename gaf_utils.pl to saf_utils.pl
------------------------------------------------------------------------
r497 | lh3lh3 | 2008-02-25 11:21:20 +0000 (Mon, 25 Feb 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/gaf_utils.pl
prepare to rename it as saf_utils.pl
------------------------------------------------------------------------
r496 | lh3lh3 | 2008-02-22 16:09:01 +0000 (Fri, 22 Feb 2008) | 2 lines
Changed paths:
A /branches/lh3/maq/scripts/gaf_utils.pl (from /branches/lh3/maq/scripts/parse_aln.pl:495)
rename parse_aln.pl to gaf_utils.pl
------------------------------------------------------------------------
r495 | lh3lh3 | 2008-02-21 23:41:44 +0000 (Thu, 21 Feb 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/parse_aln.pl
* uaf converter for maq
* improve evaluation
------------------------------------------------------------------------
r494 | lh3lh3 | 2008-02-21 22:32:50 +0000 (Thu, 21 Feb 2008) | 3 lines
Changed paths:
D /branches/lh3/maq/scripts/mapview.pl
A /branches/lh3/maq/scripts/parse_aln.pl
* convert parse_aln.pl to UAF alignment format
* move mapview.pl to parse_aln.pl
------------------------------------------------------------------------
r493 | lh3lh3 | 2008-02-21 20:28:08 +0000 (Thu, 21 Feb 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/pileup.cc
* maq-0.6.3-14
* output base position on the read (for pileup)
------------------------------------------------------------------------
r492 | lh3lh3 | 2008-02-21 10:45:56 +0000 (Thu, 21 Feb 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/read.h
M /branches/lh3/maq/scripts/maq.pl
* maq-0.6.3-13
* trim long adapter contaminations before alignment
------------------------------------------------------------------------
r491 | lh3lh3 | 2008-02-19 10:26:44 +0000 (Tue, 19 Feb 2008) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/fasta2bfa.c
M /branches/lh3/maq/simulate.c
* maq-0.6.3-12
* fix a bug in fasta2csfa: missing new line
* more error output for simulate.c
------------------------------------------------------------------------
r490 | lh3lh3 | 2008-02-17 15:48:53 +0000 (Sun, 17 Feb 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/mapcheck.cc
* maq-0.6.3-11
* improve comments a bit
* mapcheck: remove unused codes which never correctly worked
* mapcheck: more stat
------------------------------------------------------------------------
r489 | lh3lh3 | 2008-02-17 14:33:25 +0000 (Sun, 17 Feb 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/scripts/maq.pl
* maq-0.6.3-10
* mapstat: output error rate
* maq.pl-0.3.4
* cat2pair: modified by "maq catfilter"
------------------------------------------------------------------------
r488 | lh3lh3 | 2008-02-16 19:29:21 +0000 (Sat, 16 Feb 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/read.cc
no change, actually
------------------------------------------------------------------------
r487 | lh3lh3 | 2008-02-16 19:10:49 +0000 (Sat, 16 Feb 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/read.cc
remove debug codes in read.cc
------------------------------------------------------------------------
r486 | lh3lh3 | 2008-02-16 19:07:42 +0000 (Sat, 16 Feb 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/read.cc
* maq-0.6.3-9
* filter for continous A. Only work for Sanger's PE cat format
------------------------------------------------------------------------
r485 | lh3lh3 | 2008-02-14 11:46:11 +0000 (Thu, 14 Feb 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/match_aux.cc
* maq-0.6.3-8
* update mapstat command
------------------------------------------------------------------------
r484 | lh3lh3 | 2008-02-13 16:02:19 +0000 (Wed, 13 Feb 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/fq_all2std.pl
* fq_all2std.pl-0.1.2
* add support for SOLiD read format
------------------------------------------------------------------------
r483 | lh3lh3 | 2008-02-13 12:52:26 +0000 (Wed, 13 Feb 2008) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/rmdup.cc
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.3.3
* cat2pair: discriminate the two ends with "/1" and "/2"
* improve fastq2bfq
* maq-0.6.3-7
* rmdup now records the number of checked pairs and removed pairs
------------------------------------------------------------------------
r482 | lh3lh3 | 2008-02-06 10:04:54 +0000 (Wed, 06 Feb 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maqmap.c
* maq-0.6.3-6
* fixed a neglectable bug in mapview
------------------------------------------------------------------------
r481 | lh3lh3 | 2008-02-04 22:21:27 +0000 (Mon, 04 Feb 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/fq_all2std.pl
add /[12] when converting export format
------------------------------------------------------------------------
r480 | lh3lh3 | 2008-02-04 20:29:26 +0000 (Mon, 04 Feb 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/rmdup.cc
M /branches/lh3/maq/simulate.c
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-5
* update ChangeLog
* recognize "@read1/1" for the first read and "@read1/2" for the second
* simulation/rmdup/map are all modified accordingly
------------------------------------------------------------------------
r479 | lh3lh3 | 2008-02-04 20:21:47 +0000 (Mon, 04 Feb 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_plot.pl
maq_plot.pl: make a bit better plot
------------------------------------------------------------------------
r478 | lh3lh3 | 2008-01-28 21:47:06 +0000 (Mon, 28 Jan 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
* maq-0.6.3-4
* completely disable indelpe for SOLiD reads. It needs a lot of coding.
------------------------------------------------------------------------
r477 | lh3lh3 | 2008-01-28 21:29:38 +0000 (Mon, 28 Jan 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maqmap.c
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-3
* store mismatch positions in .map file, at the cost of shorter read length
* fix a bug in cns2win
* mapview support for showing mismatch positions
------------------------------------------------------------------------
r473 | lh3lh3 | 2008-01-25 14:52:36 +0000 (Fri, 25 Jan 2008) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-2
* change the meaning of "alternative mapping quality". Now it means: the
lower SE mapping quality of the two ends (previously not)
* have not tested, but I think I cannot be wrong... (hope I am right)
------------------------------------------------------------------------
r472 | lh3lh3 | 2008-01-23 20:00:55 +0000 (Wed, 23 Jan 2008) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.3-1
* SOLiD PE reads are mapped as FF or RR, not FR
------------------------------------------------------------------------
r471 | lh3lh3 | 2008-01-23 11:02:20 +0000 (Wed, 23 Jan 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/mapview.pl
fix a minor error in reading the data
------------------------------------------------------------------------
r470 | lh3lh3 | 2008-01-18 20:00:23 +0000 (Fri, 18 Jan 2008) | 2 lines
Changed paths:
A /branches/lh3/maq/scripts/mapview.pl
mapview.pl: parsing .map file with Perl
------------------------------------------------------------------------
r469 | lh3lh3 | 2008-01-18 10:12:35 +0000 (Fri, 18 Jan 2008) | 6 lines
Changed paths:
M /branches/lh3/maq/scripts/farm-run.pl
M /branches/lh3/maq/scripts/maq.pl
* farm-run.pl-0.1.3
* do not remove "/nfs" on the PATH
* maq.pl-0.3.2
* recognize relative path in easyrun
* improve SNPfilter (thanks, Nathan)
------------------------------------------------------------------------
r465 | lh3lh3 | 2008-01-03 20:31:33 +0000 (Thu, 03 Jan 2008) | 2 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
Release maq-0.6.3
------------------------------------------------------------------------
r463 | lh3lh3 | 2007-12-23 09:37:02 +0000 (Sun, 23 Dec 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/pileup.cc
* maq-0.6.2-16
* '-m' in "pileup" works. (fixed a bug)
------------------------------------------------------------------------
r462 | lh3lh3 | 2007-12-19 12:36:50 +0000 (Wed, 19 Dec 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/maq.pod
update documentations
------------------------------------------------------------------------
r461 | lh3lh3 | 2007-12-18 11:43:28 +0000 (Tue, 18 Dec 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/fasta2bfa.c
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/simulate.c
M /branches/lh3/maq/subsnp.cc
* maq-0.6.2-15
* add "simucns" command to evaluate the consensus accuracy
* add haploid support to "simulate"
------------------------------------------------------------------------
r460 | lh3lh3 | 2007-12-18 11:41:14 +0000 (Tue, 18 Dec 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.3.0
* add haploid and single-end mode to "demo"
------------------------------------------------------------------------
r459 | lh3lh3 | 2007-12-18 03:24:47 +0000 (Tue, 18 Dec 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maqmap.c
* maq-0.6.2-14
* in mapview, output brief information (no sequences and qualities)
------------------------------------------------------------------------
r458 | lh3lh3 | 2007-12-18 03:23:32 +0000 (Tue, 18 Dec 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.3.0
* add codes to detect structural variations
------------------------------------------------------------------------
r457 | lh3lh3 | 2007-12-11 20:54:32 +0000 (Tue, 11 Dec 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/sort_mapping.cc
* maq-0.6.2-13
* take reads mapped with Smith-Waterman as paired
* I am not sure whether this is the right to do, though.
------------------------------------------------------------------------
r456 | lh3lh3 | 2007-12-11 20:28:42 +0000 (Tue, 11 Dec 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/pair_stat.cc
M /branches/lh3/maq/scripts/maq_plot.pl
* maq-0.6.2-12
* show abnormal pairs
* plotting abnormal pairs works again
------------------------------------------------------------------------
r455 | lh3lh3 | 2007-12-10 11:51:08 +0000 (Mon, 10 Dec 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/rmdup.cc
* maq-0.6.2-11
* a typo in previous check in
* still name it as 0.6.2-11
------------------------------------------------------------------------
r454 | lh3lh3 | 2007-12-10 11:48:56 +0000 (Mon, 10 Dec 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/rmdup.cc
* maq-0.6.2-11
* avoid potential missing hits (a minor bug)
* rmdup now recognizes "-"
------------------------------------------------------------------------
r453 | lh3lh3 | 2007-12-10 11:26:49 +0000 (Mon, 10 Dec 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
* maq-0.6.2-10
* increase the randomness of the seed
------------------------------------------------------------------------
r452 | lh3lh3 | 2007-12-09 12:05:15 +0000 (Sun, 09 Dec 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
* 0.6.2-9
* change back to random seed, which actually is more robust
------------------------------------------------------------------------
r450 | lh3lh3 | 2007-12-06 21:47:19 +0000 (Thu, 06 Dec 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
M /branches/lh3/maq/scripts/maq_eval.pl
* maq.pl-0.2.0
* easyrun now works PE reads
* add 'demo' for simulation+easyrun+maq_eval
* maq_eval.pl-0.1.4
* increase robustness
------------------------------------------------------------------------
r443 | lh3lh3 | 2007-12-06 15:32:05 +0000 (Thu, 06 Dec 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/pair_stat.cc
* maq-0.6.2-8
* in map, change back to the previous way to score a hit
* in paircov, add "count non-N region" and remove some useless codes
------------------------------------------------------------------------
r442 | lh3lh3 | 2007-12-05 14:26:22 +0000 (Wed, 05 Dec 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/pair_stat.cc
M /branches/lh3/maq/subsnp.cc
* maq-0.6.2-7
* LaDeana Hillier finally persuaded me that mismatches should be counted
in scoring a hit. I do that now.
* `paircov' now works again, which also finds absolute break points
* `snpreg' now moves to subsnp.cc. It can also filter SNPs now.
------------------------------------------------------------------------
r441 | lh3lh3 | 2007-12-03 11:48:43 +0000 (Mon, 03 Dec 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
* maq-0.6.2-6
* snpreg: output SNP-callable regions given different quality threshold
* map: use fixed seed to random numbers
------------------------------------------------------------------------
r440 | lh3lh3 | 2007-12-03 11:46:58 +0000 (Mon, 03 Dec 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
* maq_eval.pl-0.1.3
* in indelsoa, filter SNPs
* in indelpe, output FN and FP
------------------------------------------------------------------------
r439 | lh3lh3 | 2007-12-01 16:14:38 +0000 (Sat, 01 Dec 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
* maq_eval.pl-0.1.2
* evaluate genotyping sites
------------------------------------------------------------------------
r438 | lh3lh3 | 2007-11-30 12:34:24 +0000 (Fri, 30 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.10
* change the option names in SNPfilter
------------------------------------------------------------------------
r437 | lh3lh3 | 2007-11-29 15:10:28 +0000 (Thu, 29 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
* maq-0.6.2-5
* add "snpreg" command: calculate regions where SNP can be called
------------------------------------------------------------------------
r436 | lh3lh3 | 2007-11-26 13:09:15 +0000 (Mon, 26 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.9
* in easyrun, fix a typo caused by the last revision
------------------------------------------------------------------------
r435 | lh3lh3 | 2007-11-26 09:53:29 +0000 (Mon, 26 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/fastq2bfq.c
* maq-0.6.2-4
* in fastq2bfq, avoid generating empty files
------------------------------------------------------------------------
r434 | lh3lh3 | 2007-11-26 09:52:22 +0000 (Mon, 26 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.8
* in easyrun, split the input fastq to smaller files if necessary
------------------------------------------------------------------------
r433 | lh3lh3 | 2007-11-25 23:19:38 +0000 (Sun, 25 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/simulate.c
* maq-0.6.3
* fix a stupid bug in simulation
------------------------------------------------------------------------
r432 | lh3lh3 | 2007-11-25 23:01:03 +0000 (Sun, 25 Nov 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/simulate.c
* maq-0.6.2-2
* make coordinate more accurate, but cannot be absolutely accurate
* improve simustat to tolerate indel alignment
------------------------------------------------------------------------
r430 | lh3lh3 | 2007-11-25 21:07:18 +0000 (Sun, 25 Nov 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/simulate.c
* maq-0.6.2-1
* simulate reads for diploid reference
* known bug: the coordinate of some reads is wrong.
------------------------------------------------------------------------
r427 | lh3lh3 | 2007-11-23 22:19:15 +0000 (Fri, 23 Nov 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
Release maq-0.6.2
------------------------------------------------------------------------
r426 | lh3lh3 | 2007-11-23 17:17:47 +0000 (Fri, 23 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/eland2maq.cc
* maq-0.6.1-18
* export2maq: fix a bug in converting base qualities
------------------------------------------------------------------------
r425 | lh3lh3 | 2007-11-23 16:03:21 +0000 (Fri, 23 Nov 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/eland2maq.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
* maq-0.6.1-17
* convert Solexa's export format to maq's .map format
* add NEWS and prepare to release maq-0.6.2
------------------------------------------------------------------------
r424 | lh3lh3 | 2007-11-19 16:30:56 +0000 (Mon, 19 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/mapcheck.cc
* maq-0.6.1-15
* fix a compiling error for some powerpc64-linux
------------------------------------------------------------------------
r422 | lh3lh3 | 2007-11-19 09:33:41 +0000 (Mon, 19 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/fq_all2std.pl
* fq_all2std.pl-0.1.1
* fix a bug for "export" format
------------------------------------------------------------------------
r420 | lh3lh3 | 2007-11-18 23:16:49 +0000 (Sun, 18 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.1
* for Solexa's new export format
------------------------------------------------------------------------
r419 | lh3lh3 | 2007-11-18 23:16:02 +0000 (Sun, 18 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/farm-run.pl
* farm-run.pl-0.12
* correct uname for a Linux machine
------------------------------------------------------------------------
r418 | lh3lh3 | 2007-11-16 10:19:35 +0000 (Fri, 16 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.6
* fastq2bfq: for Solexa's new "export" format
------------------------------------------------------------------------
r417 | lh3lh3 | 2007-11-16 10:11:59 +0000 (Fri, 16 Nov 2007) | 3 lines
Changed paths:
A /branches/lh3/maq/scripts/fq_all2std.pl
* fq_all2std.pl-0.1.0
* script for converting between various formats
------------------------------------------------------------------------
r414 | lh3lh3 | 2007-11-15 10:01:48 +0000 (Thu, 15 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
* maq-0.6.1-15
* fix a bug related to max_err10
------------------------------------------------------------------------
r411 | lh3lh3 | 2007-11-08 15:48:01 +0000 (Thu, 08 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/pileup.cc
* 0.6.1-14
* allow to use "-" in many more commands
------------------------------------------------------------------------
r410 | lh3lh3 | 2007-11-08 10:40:14 +0000 (Thu, 08 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/configure.ac
* 0.6.1-13
* allow to use "-" in "assemble"
------------------------------------------------------------------------
r401 | lh3lh3 | 2007-11-01 15:50:37 +0000 (Thu, 01 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.5
* sorry, fix another bug
------------------------------------------------------------------------
r400 | lh3lh3 | 2007-11-01 15:20:52 +0000 (Thu, 01 Nov 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
* maq-0.6.1-12
* fix a bug in indelpe (caused by previous debugging codes)
------------------------------------------------------------------------
r399 | lh3lh3 | 2007-11-01 15:20:00 +0000 (Thu, 01 Nov 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.4
* fix a bug in fastq2bfq
* improve cat2pair
------------------------------------------------------------------------
r395 | lh3lh3 | 2007-10-31 15:22:40 +0000 (Wed, 31 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.3
* improve fastq2bfq powered by the new 'maq fastq2bfq'
------------------------------------------------------------------------
r394 | lh3lh3 | 2007-10-31 11:59:10 +0000 (Wed, 31 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/fastq2bfq.c
* 0.6.1-11
* improve fastq2bfq command
------------------------------------------------------------------------
r393 | lh3lh3 | 2007-10-31 11:13:12 +0000 (Wed, 31 Oct 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
* maq-0.6.1-10
* allow to change max_err10 on the command-line
* set the minimum length of reads to 16bp, instead of 20bp
------------------------------------------------------------------------
r392 | lh3lh3 | 2007-10-31 11:10:57 +0000 (Wed, 31 Oct 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.2
* allow to set the maximum read depth in SNPfilter
* improve fastq2bfq a bit
------------------------------------------------------------------------
r384 | lh3lh3 | 2007-10-30 09:35:43 +0000 (Tue, 30 Oct 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/maq.pod
* 0.6.1-9
* update documentations
* fix a bug in indelpe
------------------------------------------------------------------------
r379 | lh3lh3 | 2007-10-29 09:23:46 +0000 (Mon, 29 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
* maq_eval.pl-0.1.1
* better evaluation for indelsoa
------------------------------------------------------------------------
r378 | lh3lh3 | 2007-10-28 21:59:46 +0000 (Sun, 28 Oct 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/maq.pod
explain SNPfilter and indelsoa
------------------------------------------------------------------------
r377 | lh3lh3 | 2007-10-28 20:59:40 +0000 (Sun, 28 Oct 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_soa.cc
M /branches/lh3/maq/main.c
* maq-0.6.1-8
* make indelsoa public
* indelsoa should be able to work with multiple references (not tested)
* output an alternative score in indelsoa
* change a threshold in aux_utils.c
------------------------------------------------------------------------
r376 | lh3lh3 | 2007-10-28 20:53:07 +0000 (Sun, 28 Oct 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.1
* change the SNPfilter for indelsoa (left+right-across>=3 && across<=1)
* in easyrun, indelsoa-filtered SNPs become the default.
------------------------------------------------------------------------
r375 | lh3lh3 | 2007-10-28 18:32:51 +0000 (Sun, 28 Oct 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
* maq.pl-0.1.0
* improve `SNPfilter' command
* improve `gwhich()'
* improve `easyrun' command
* add `statmap' command (previously known as `stat_err.pl'))
------------------------------------------------------------------------
r374 | lh3lh3 | 2007-10-28 15:54:01 +0000 (Sun, 28 Oct 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/maq_eval.pl
put indel evaluation in the script
------------------------------------------------------------------------
r373 | lh3lh3 | 2007-10-26 22:25:20 +0100 (Fri, 26 Oct 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/eland2maq.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/maq.pod
* 0.6.1-7
* change the default quality to 25
* update the documentation
------------------------------------------------------------------------
r372 | lh3lh3 | 2007-10-26 22:23:08 +0100 (Fri, 26 Oct 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
change the SNP filter
------------------------------------------------------------------------
r371 | lh3lh3 | 2007-10-26 14:29:54 +0100 (Fri, 26 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/sort_mapping.cc
* 0.6.1-6
* dump unmapped reads to a separate file
------------------------------------------------------------------------
r370 | lh3lh3 | 2007-10-26 12:51:09 +0100 (Fri, 26 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/sort_mapping.cc
* 0.6.1-5
* dump unmapped reads and poorly mapped reads
------------------------------------------------------------------------
r369 | lh3lh3 | 2007-10-26 11:12:12 +0100 (Fri, 26 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
M /branches/lh3/maq/main.c
M /branches/lh3/maq/mapcheck.cc
M /branches/lh3/maq/pileup.cc
* 0.6.1-4
* bring back 'assemble/pileup -m' to meet users' request
------------------------------------------------------------------------
r361 | lh3lh3 | 2007-10-13 22:13:01 +0100 (Sat, 13 Oct 2007) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/eland2maq.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/read.cc
* 0.6.1-3
* fix the bug in methy_mode
* eland2maq now works properly
* allow G->A alignment in methy_mode
------------------------------------------------------------------------
r360 | lh3lh3 | 2007-10-13 14:22:57 +0100 (Sat, 13 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
A /branches/lh3/maq/eland2maq.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/maqmap.h
* 0.6.1-2
* add eland2maq: convert eland output to maq alignment
------------------------------------------------------------------------
r347 | lh3lh3 | 2007-10-10 16:01:58 +0100 (Wed, 10 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
* 0.6.1-1
* fix a bug in methylation alignment
------------------------------------------------------------------------
r332 | lh3lh3 | 2007-10-03 20:55:06 +0100 (Wed, 03 Oct 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/FUTURES
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
Release maq-0.6.1
------------------------------------------------------------------------
r328 | lh3lh3 | 2007-10-02 13:38:41 +0100 (Tue, 02 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/read.cc
* 0.6.0-6
* fix a bug for methy-mode. I know few are using this, but it is a bug anyway.
------------------------------------------------------------------------
r327 | lh3lh3 | 2007-10-02 13:05:22 +0100 (Tue, 02 Oct 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
* 0.6.0-5
* fix a rare bug in get_pos.c
------------------------------------------------------------------------
r315 | lh3lh3 | 2007-09-26 11:14:17 +0100 (Wed, 26 Sep 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/read.h
M /branches/lh3/maq/sort_mapping.cc
* 0.6.0-4
* make trim-adapter work properly
------------------------------------------------------------------------
r284 | lh3lh3 | 2007-09-19 15:13:42 +0100 (Wed, 19 Sep 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/fastq2bfq.c
* 0.6.0-3
* 0.6.0-2 is prematured.
* change zero quality to 1 (in fastq2bfq)
------------------------------------------------------------------------
r251 | lh3lh3 | 2007-09-10 13:43:36 +0100 (Mon, 10 Sep 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/sort_mapping.cc
* 0.6.0-1
* map a read to the position that gives the minimum sum of quality values
of mismatched bases. Previously maq first compares the number of mismatches
in the first 24bp and then check the sum.
* on simulated data, this gives slightly better accuracy.
------------------------------------------------------------------------
r248 | lh3lh3 | 2007-09-05 13:11:06 +0100 (Wed, 05 Sep 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/FUTURES
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
Release 0.6.0
------------------------------------------------------------------------
r247 | lh3lh3 | 2007-09-05 10:24:26 +0100 (Wed, 05 Sep 2007) | 7 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/maqmap.c
M /branches/lh3/maq/rmdup.cc
* 0.5.1-24
* output number of 0- and 1-mismatch hits in mapview
* when '-p' is flagged with assemble, abnormal pairs will be discarded, instead
of being assigned a quality zero
* fix a bug in rmdup which may causes segmentation fault in rare cases
* add more documentations
------------------------------------------------------------------------
r244 | lh3lh3 | 2007-08-29 17:07:08 +0100 (Wed, 29 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-23
* revert some codes from 0.5.1-6
------------------------------------------------------------------------
r243 | lh3lh3 | 2007-08-29 16:43:52 +0100 (Wed, 29 Aug 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/simulate.c
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-22
* remove debugging codes from simulate.c
* fix two trivial/potential bugs in sort_mapping.c
------------------------------------------------------------------------
r242 | lh3lh3 | 2007-08-29 10:53:29 +0100 (Wed, 29 Aug 2007) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/simulate.c
* 0.5.1-21
* fix a bug in calculating the average insert size (caused by latest modifications)
* simulate now generates reads on both strand (previously read1 from forward,
and read2 always from reverse strand)
------------------------------------------------------------------------
r241 | lh3lh3 | 2007-08-28 13:49:52 +0100 (Tue, 28 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
M /branches/lh3/maq/maqmap.c
M /branches/lh3/maq/simulate.c
* 0.5.1-20
* fix problems caused by previous revision
------------------------------------------------------------------------
r240 | lh3lh3 | 2007-08-28 10:53:18 +0100 (Tue, 28 Aug 2007) | 7 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/maqmap.h
A /branches/lh3/maq/rmdup.cc
D /branches/lh3/maq/rmpair.cc
M /branches/lh3/maq/simulate.c
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-19
* in maqmap1_t, dist now shows the insert size.
* rmdup is rewritten. it now handles abnormal pairs.
* after Smith-Waterman, reads without indels will also be saved, though not used at later step
* simulate is able to generate different read lengths from the length in the fqc_t
* this revision has not been thoroughly tested.
------------------------------------------------------------------------
r238 | lh3lh3 | 2007-08-23 10:21:48 +0100 (Thu, 23 Aug 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/maq.pod
for changes after 0.5.1
------------------------------------------------------------------------
r235 | lh3lh3 | 2007-08-22 09:09:04 +0100 (Wed, 22 Aug 2007) | 7 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/rmpair.cc
M /branches/lh3/maq/simulate.c
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-18
* output version number in 'map'
* detect duplicated read names in 'rmdup'
* in attempt to use another filter
* initiate Smith-Waterman alignment for Q20 reads (not Q30)
* generate unique read names in 'simulate'
------------------------------------------------------------------------
r234 | lh3lh3 | 2007-08-20 09:49:23 +0100 (Mon, 20 Aug 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/merge.cc
* 0.5.1-17
* mapmerge: allow to dump .map to stdout
* indel_pe: check boundaries before alignment
------------------------------------------------------------------------
r233 | lh3lh3 | 2007-08-13 20:36:50 +0100 (Mon, 13 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/read.cc
* 0.5.1-16
* fix a bug in adapter trimming
------------------------------------------------------------------------
r232 | lh3lh3 | 2007-08-10 23:05:48 +0100 (Fri, 10 Aug 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.c
A /branches/lh3/maq/indel_call.cc
* 0.5.1-15
* indelpe: indel calling from PE reads
* better combine indelsoa and indelpe to give better results (future plan)
------------------------------------------------------------------------
r231 | lh3lh3 | 2007-08-10 21:27:32 +0100 (Fri, 10 Aug 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.h
A /branches/lh3/maq/get_pos.c (from /branches/lh3/maq/get_pos.cc:230)
D /branches/lh3/maq/get_pos.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
rename get_pos.cc->get_pos.c
------------------------------------------------------------------------
r230 | lh3lh3 | 2007-08-10 20:27:35 +0100 (Fri, 10 Aug 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/bfa.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.cc
M /branches/lh3/maq/indel_pe.cc
* 0.5.1-14
* fix a minor bug in indel_pe.cc
* prepare to rename get_pos.cc
------------------------------------------------------------------------
r229 | lh3lh3 | 2007-08-10 14:02:35 +0100 (Fri, 10 Aug 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.cc
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-13
* indel_pe seems to work properly
* need to write someting to pull out all the indel sites
------------------------------------------------------------------------
r228 | lh3lh3 | 2007-08-09 23:27:47 +0100 (Thu, 09 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1.-12
* the core part of indelpe works. more work need to be done, though
------------------------------------------------------------------------
r227 | lh3lh3 | 2007-08-09 14:30:38 +0100 (Thu, 09 Aug 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/maqmap.h
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/rmpair.cc
M /branches/lh3/maq/simulate.c
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-11
* in methylation alignment mode, change all C to T. this is the only right way.
* a little change in calculating mapping qualities. should not matter much for high-quality reads
* write more codes for the indel detector
* this revision probably cannot work!
------------------------------------------------------------------------
r226 | lh3lh3 | 2007-08-08 16:41:24 +0100 (Wed, 08 Aug 2007) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
A /branches/lh3/maq/indel_pe.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/rmpair.cc
M /branches/lh3/maq/scripts/maq.pl
M /branches/lh3/maq/sort_mapping.cc
A /branches/lh3/maq/stdaln.c
A /branches/lh3/maq/stdaln.h
* 0.5.1-10
* rmdup: fix a bug
* easyrun: allow to filter adapter at the command-line
* prepare to add indel detector for PE reads. just started.
------------------------------------------------------------------------
r225 | lh3lh3 | 2007-08-07 16:09:30 +0100 (Tue, 07 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/read.h
* 0.5.1-9
* more sophisticated 3'-adapter trimmer
------------------------------------------------------------------------
r224 | lh3lh3 | 2007-08-06 23:29:29 +0100 (Mon, 06 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/read.h
* 0.5.1-8
* alignment for methylated data
------------------------------------------------------------------------
r223 | lh3lh3 | 2007-08-06 00:20:36 +0100 (Mon, 06 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/read.cc
* 0.5.1-7
* fix bug in auto_trim(), but this does not work well...
------------------------------------------------------------------------
r222 | lh3lh3 | 2007-08-05 17:11:23 +0100 (Sun, 05 Aug 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
0.5.1-6: trivial changes
------------------------------------------------------------------------
r221 | lh3lh3 | 2007-08-04 22:57:40 +0100 (Sat, 04 Aug 2007) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.cc
M /branches/lh3/maq/mapcheck.cc
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/maqmap.c
M /branches/lh3/maq/maqmap.h
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/pileup.cc
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-5
* discard reads that give large sum of errors. For real data, this helps A LOT!
* maqstat is now disfunctional...
* allow to adjust MAF in assemble
------------------------------------------------------------------------
r220 | lh3lh3 | 2007-08-04 16:30:12 +0100 (Sat, 04 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-4
* fix a bug caused by the operator precedence
------------------------------------------------------------------------
r218 | lh3lh3 | 2007-08-04 14:53:43 +0100 (Sat, 04 Aug 2007) | 7 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-3
* reduce unnecessary memory usage (a bit)
* fix a subtle and minor bug in calculating paired end mapping qualities
* hash word in a more efficient way, especially for long reads
* now the mapping quality seems to be underestimated...
* at least on bacteria, the new code is giving better alignments
------------------------------------------------------------------------
r217 | lh3lh3 | 2007-08-04 00:38:41 +0100 (Sat, 04 Aug 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/rmpair.cc
M /branches/lh3/maq/simulate.c
M /branches/lh3/maq/sort_mapping.cc
* 0.5.1-2
* simulate.c: fixed a bug for the reverse read
* simulate.c: added forgotten gzclose()
* align long but low-quality reads
* mapping quality is overestimated a bit
------------------------------------------------------------------------
r216 | lh3lh3 | 2007-08-03 22:50:40 +0100 (Fri, 03 Aug 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/rmpair.cc
* 0.5.1-1
* fix a minor bug in rmpair.cc
------------------------------------------------------------------------
r212 | lh3lh3 | 2007-07-31 11:19:16 +0100 (Tue, 31 Jul 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/FUTURES
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/match.cc
Release 0.5.1
------------------------------------------------------------------------
r211 | lh3lh3 | 2007-07-31 09:12:07 +0100 (Tue, 31 Jul 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/mapcheck.cc
M /branches/lh3/maq/maq.pod
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/rmpair.cc
* 0.5.0-14 (the following also shows changes in 0.5.0-13)
* change the way the final mapping quality is determined in "assemble"
* output clean up
* better POD
* prepare to release 0.5.1
------------------------------------------------------------------------
r210 | lh3lh3 | 2007-07-30 17:18:49 +0100 (Mon, 30 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.cc
M /branches/lh3/maq/maq.pod
* 0.5.0-13
* later... I am catching bus...
------------------------------------------------------------------------
r209 | lh3lh3 | 2007-07-30 10:31:57 +0100 (Mon, 30 Jul 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/maq.pod
better documentations
------------------------------------------------------------------------
r207 | lh3lh3 | 2007-07-29 23:32:33 +0100 (Sun, 29 Jul 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/main.c
A /branches/lh3/maq/maq.pod
add POD manual
------------------------------------------------------------------------
r206 | lh3lh3 | 2007-07-29 16:19:38 +0100 (Sun, 29 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/scripts/maq.pl
M /branches/lh3/maq/simulate.c
* 0.5.0-12
* dump fastq statistics into a separate data file.
------------------------------------------------------------------------
r205 | lh3lh3 | 2007-07-27 13:39:10 +0100 (Fri, 27 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/read.cc
M /branches/lh3/maq/read.h
M /branches/lh3/maq/scripts/maq.pl
* 0.5.0-11
* automatically trim all reads (not the default option)
------------------------------------------------------------------------
r204 | lh3lh3 | 2007-07-27 08:47:59 +0100 (Fri, 27 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/fasta2bfa.c
* 0.5.0-10
* fix bug in fakemut
------------------------------------------------------------------------
r202 | lh3lh3 | 2007-07-26 10:27:52 +0100 (Thu, 26 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/simulate.c
* 0.5.0-9
* fix a bug in "map".
------------------------------------------------------------------------
r201 | lh3lh3 | 2007-07-25 12:54:43 +0100 (Wed, 25 Jul 2007) | 7 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/simulate.c
M /branches/lh3/maq/sort_mapping.cc
* 0.5.0-8
* match.cc: fix a bug which will cause tandem repetitive pairs lost
* change the default minimum insert size to 0
* sort_mapping.cc: fix a bug in calculating paired mapping qualities. However,
decide to make it more conservative at last.
* simulate.c: add codes to evaluate mappings based on simulated reads
------------------------------------------------------------------------
r199 | lh3lh3 | 2007-07-23 17:17:55 +0100 (Mon, 23 Jul 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match_aux.cc
* 0.5.0-7
* improve help
* change default paired end distance to [60,250]
------------------------------------------------------------------------
r198 | lh3lh3 | 2007-07-23 16:45:49 +0100 (Mon, 23 Jul 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/configure.ac
A /branches/lh3/maq/genran.c
A /branches/lh3/maq/genran.h
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
A /branches/lh3/maq/rmpair.cc
M /branches/lh3/maq/scripts/maq_eval.pl
M /branches/lh3/maq/simulate.c
A /branches/lh3/maq/submap.c
* 0.5.0-6
* It seems that I forgot to add files at the last check-in
* add rmpair.cc: remove pairs with the exact coordinates
* add submap.c: extract a submap. Note that the resultant file is slightly different in teh format.
* finish simulate.c: simulate paired reads
------------------------------------------------------------------------
r188 | lh3lh3 | 2007-07-19 12:29:51 +0100 (Thu, 19 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/subsnp.cc
* 0.5.0-4
* distinguish het1 and het2
------------------------------------------------------------------------
r187 | lh3lh3 | 2007-07-19 00:39:08 +0100 (Thu, 19 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/assopt.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/mapcheck.cc
M /branches/lh3/maq/pileup.cc
M /branches/lh3/maq/stdhash.hh
* 0.5.0-3
* add a few trivial things. little improvement, though
------------------------------------------------------------------------
r185 | lh3lh3 | 2007-07-18 11:20:51 +0100 (Wed, 18 Jul 2007) | 4 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.h
M /branches/lh3/maq/maqmap.c
* 0.5.0-2
* write D codes as C/C++ codes
* have not test it yet
------------------------------------------------------------------------
r183 | lh3lh3 | 2007-07-18 00:05:47 +0100 (Wed, 18 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maqmap.c
M /branches/lh3/maq/match_aux.cc
* 0.5.0-1
* avoid using maqmap_t::n_mapped_reads
------------------------------------------------------------------------
r170 | lh3lh3 | 2007-07-14 17:45:40 +0100 (Sat, 14 Jul 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/NEWS
change to r171
------------------------------------------------------------------------
r169 | lh3lh3 | 2007-07-14 17:44:42 +0100 (Sat, 14 Jul 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/ChangeLog
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/NEWS
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
MAQ Release 0.5.0
------------------------------------------------------------------------
r167 | lh3lh3 | 2007-07-13 15:02:44 +0100 (Fri, 13 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/altchr.cc
M /branches/lh3/maq/configure.ac
* fix a bug in altchr.cc
* 0.4.3-13
------------------------------------------------------------------------
r166 | lh3lh3 | 2007-07-13 10:09:00 +0100 (Fri, 13 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
A /branches/lh3/maq/altchr.cc
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/const.c
M /branches/lh3/maq/const.h
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
* 0.4.3-12
* add altchr.cc
------------------------------------------------------------------------
r165 | lh3lh3 | 2007-07-12 15:30:32 +0100 (Thu, 12 Jul 2007) | 2 lines
Changed paths:
M /branches/lh3/maq/scripts/maq.pl
allow to trim reads on the command line.
------------------------------------------------------------------------
r164 | lh3lh3 | 2007-07-12 14:47:20 +0100 (Thu, 12 Jul 2007) | 6 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/maqmap.c
M /branches/lh3/maq/maqmap_conv.c
D /branches/lh3/maq/scripts/eval_snp.pl
M /branches/lh3/maq/scripts/maq.pl
A /branches/lh3/maq/scripts/maq_eval.pl (from /branches/lh3/maq/scripts/eval_snp.pl:160)
M /branches/lh3/maq/scripts/maq_plot.pl
* 0.4.3-11
* format check in maqmap.c and maqmap_conv.c
* rename eval_snp.pl as maq_eval.pl
* allow to change xtics in maq_plot.pl
* improve maq.pl
------------------------------------------------------------------------
r163 | lh3lh3 | 2007-07-11 23:23:15 +0100 (Wed, 11 Jul 2007) | 7 lines
Changed paths:
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/maqmap.c
M /branches/lh3/maq/maqmap.h
M /branches/lh3/maq/maqmap_conv.c
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/merge.cc
M /branches/lh3/maq/sort_mapping.cc
* 0.4.3-10
* move mapview to maqmap.c. it is a good example
* fix a bug in mapmerge, which is caused by the new maqmap interface
* run valgrind on a couple of commands: map, mapmerge, indelsoa, assemble,
pileup, mapcheck, mapview and mapass2maq
------------------------------------------------------------------------
r162 | lh3lh3 | 2007-07-11 22:27:31 +0100 (Wed, 11 Jul 2007) | 5 lines
Changed paths:
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/assemble.h
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/get_pos.cc
M /branches/lh3/maq/indel_soa.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/main.h
M /branches/lh3/maq/mapcheck.cc
A /branches/lh3/maq/maqmap.c
A /branches/lh3/maq/maqmap.h
A /branches/lh3/maq/maqmap_conv.c
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match.hh
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/merge.cc
M /branches/lh3/maq/pair_stat.cc
M /branches/lh3/maq/pileup.cc
M /branches/lh3/maq/sort_mapping.cc
* 0.4.3-9
* new interface to .map format. read names will be stored.
* match seemingly generates correct result
* other functions need thorough testing
------------------------------------------------------------------------
r161 | lh3lh3 | 2007-07-11 13:43:49 +0100 (Wed, 11 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/maq/INSTALL
M /branches/lh3/maq/Makefile.am
M /branches/lh3/maq/Makefile.generic
M /branches/lh3/maq/README
M /branches/lh3/maq/assemble.cc
M /branches/lh3/maq/aux_utils.c
M /branches/lh3/maq/configure.ac
M /branches/lh3/maq/fasta2bfa.c
M /branches/lh3/maq/fastq2bfq.c
M /branches/lh3/maq/indel_soa.cc
M /branches/lh3/maq/main.c
M /branches/lh3/maq/mapcheck.cc
M /branches/lh3/maq/match.cc
M /branches/lh3/maq/match_aux.cc
M /branches/lh3/maq/merge.cc
M /branches/lh3/maq/pair_stat.cc
M /branches/lh3/maq/pileup.cc
M /branches/lh3/maq/rbcc.cc
M /branches/lh3/maq/read.cc
D /branches/lh3/maq/scripts/mapass2.pl
D /branches/lh3/maq/scripts/mapass2_plot.pl
A /branches/lh3/maq/scripts/maq.pl (from /branches/lh3/maq/scripts/mapass2.pl:160)
A /branches/lh3/maq/scripts/maq_plot.pl (from /branches/lh3/maq/scripts/mapass2_plot.pl:160)
M /branches/lh3/maq/subsnp.cc
* rename mapass2 as maq
* 0.4.3-8
------------------------------------------------------------------------
r159 | lh3lh3 | 2007-07-11 13:26:43 +0100 (Wed, 11 Jul 2007) | 9 lines
Changed paths:
A /branches/lh3/maq (from /branches/lh3/mapass2:158)
Mapass2 is renamed as "maq", which stands for Mapping and
Assembly with Qualities. It is pronounced in the same way
as "Mac", the Apple's operating system.
The mapass2 will be stopped and all the new development will
happen in /branches/lh3/maq. The current version of mapass2 at
this branching point is: 0.4.3-7. Today is 11 July 2007.
------------------------------------------------------------------------
r158 | lh3lh3 | 2007-07-10 21:39:12 +0100 (Tue, 10 Jul 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/indel_soa.cc
M /branches/lh3/mapass2/scripts/mapass2.pl
* 0.4.3-7
* improve indel detection (only works for homozygous indels!)
* mapass2.pl: filter out SNPs falling in indels regions
------------------------------------------------------------------------
r157 | lh3lh3 | 2007-07-10 19:34:22 +0100 (Tue, 10 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile.am
M /branches/lh3/mapass2/Makefile.generic
M /branches/lh3/mapass2/configure.ac
A /branches/lh3/mapass2/indel_soa.cc
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/pair_stat.cc
* 0.4.3-5
* state-of-art indel detector (will be improved later)
------------------------------------------------------------------------
r156 | lh3lh3 | 2007-07-09 23:53:07 +0100 (Mon, 09 Jul 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/fasta2bfa.c
M /branches/lh3/mapass2/scripts/mapass2.pl
* 0.4.3-5
* mapass2.pl: bugfix in SNPfilter
* fake quality in "fakemut"
------------------------------------------------------------------------
r155 | lh3lh3 | 2007-07-09 18:08:00 +0100 (Mon, 09 Jul 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/fasta2bfa.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/pair_stat.cc
* 0.4.3-4
* pair_stat.cc: also output depth
* fasta2bfa.c: fake indels in the reference
------------------------------------------------------------------------
r154 | lh3lh3 | 2007-07-09 11:30:52 +0100 (Mon, 09 Jul 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/pair_stat.cc
M /branches/lh3/mapass2/scripts/mapass2.pl
* 0.4.3-3
* pair_stat.cc: skip "N" regions.
* mapass2.pl: add usage for "SNPfilter"
------------------------------------------------------------------------
r153 | lh3lh3 | 2007-07-08 23:50:10 +0100 (Sun, 08 Jul 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/scripts/mapass2.pl
filter SNPs
------------------------------------------------------------------------
r152 | lh3lh3 | 2007-07-08 21:58:21 +0100 (Sun, 08 Jul 2007) | 7 lines
Changed paths:
M /branches/lh3/mapass2/aux_utils.c
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/pair_stat.cc
A /branches/lh3/mapass2/scripts/eval_snp.pl
M /branches/lh3/mapass2/scripts/mapass2_plot.pl
* 0.4.3-2
* add eval_snp.pl
* mapass2_plot.pl: add depth plot
* pair_stat.cc: pick up regions that are not covered by pairs
* aux_utils.c: output alternative depth
* not finished, though
------------------------------------------------------------------------
r151 | lh3lh3 | 2007-07-06 15:56:18 +0100 (Fri, 06 Jul 2007) | 6 lines
Changed paths:
M /branches/lh3/mapass2/Makefile.am
M /branches/lh3/mapass2/Makefile.generic
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
A /branches/lh3/mapass2/pair_stat.cc
M /branches/lh3/mapass2/scripts/mapass2.pl
A /branches/lh3/mapass2/scripts/mapass2_plot.pl
A /branches/lh3/mapass2/simulate.c
* 0.4.3-1
* add pair_stat.cc: statistics on paired end data
* add mapass2_plot.pl: plot utilities
* mapass2.pl: use find -follow
* add simulate.c: unfinished
------------------------------------------------------------------------
r147 | lh3lh3 | 2007-07-04 16:04:31 +0100 (Wed, 04 Jul 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/NEWS
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/main.c
Release 0.4.3
------------------------------------------------------------------------
r146 | lh3lh3 | 2007-07-04 14:27:38 +0100 (Wed, 04 Jul 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/scripts/farm-run.pl
M /branches/lh3/mapass2/scripts/mapass2.pl
* mapass2.pl fastq2bfq: add more descriptions
* mapass2.pl fastq2bfq: change default number of reads to 1000000
* farm-run.pl: for easy-to-use
------------------------------------------------------------------------
r145 | lh3lh3 | 2007-07-04 13:51:36 +0100 (Wed, 04 Jul 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/sort_mapping.cc
* outputing all information with "match -N"
* 0.4.2-4
* prepare to release 0.4.3
------------------------------------------------------------------------
r144 | lh3lh3 | 2007-07-03 21:52:34 +0100 (Tue, 03 Jul 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/mapcheck.cc
M /branches/lh3/mapass2/sort_mapping.cc
* fix a bug in paired end alignment
* 0.4.2-3
------------------------------------------------------------------------
r143 | lh3lh3 | 2007-06-29 20:24:11 +0100 (Fri, 29 Jun 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/assopt.c
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/mapcheck.cc
M /branches/lh3/mapass2/match_aux.cc
* mapstat: output mapping quality histograph
* mapcheck: add several command line options and fix two bugs
* 0.4.2-2
------------------------------------------------------------------------
r142 | lh3lh3 | 2007-06-27 23:43:44 +0100 (Wed, 27 Jun 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/assemble.h
M /branches/lh3/mapass2/assopt.c
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/get_pos.cc
M /branches/lh3/mapass2/mapcheck.cc
M /branches/lh3/mapass2/pileup.cc
* allow to use single-end mapping qualities
* check error dependency in mapcheck (testing)
* 0.4.2-1
------------------------------------------------------------------------
r133 | lh3lh3 | 2007-06-22 14:53:46 +0100 (Fri, 22 Jun 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/scripts/mapass2.pl
* bugfix: fixed for "mapmerge" when multiple read files are given
------------------------------------------------------------------------
r129 | lh3lh3 | 2007-06-21 16:50:13 +0100 (Thu, 21 Jun 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/NEWS
M /branches/lh3/mapass2/configure.ac
sorry, a trivial error in version. True Release 0.4.2
------------------------------------------------------------------------
r128 | lh3lh3 | 2007-06-21 16:45:50 +0100 (Thu, 21 Jun 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/NEWS
Release 0.4.2
------------------------------------------------------------------------
r127 | lh3lh3 | 2007-06-21 16:35:35 +0100 (Thu, 21 Jun 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/fasta2bfa.c
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/scripts/mapass2.pl
M /branches/lh3/mapass2/sort_mapping.cc
* mapass2.pl: split concatenated paired end reads into two files
* match command: output read names in stderr
* 0.4.1-1
* prepare to release 0.4.2
------------------------------------------------------------------------
r123 | lh3lh3 | 2007-06-17 16:41:14 +0100 (Sun, 17 Jun 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/NEWS
M /branches/lh3/mapass2/configure.ac
Release 0.4.1
------------------------------------------------------------------------
r122 | lh3lh3 | 2007-06-16 17:22:20 +0100 (Sat, 16 Jun 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/fasta2bfa.c
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
* 0.4.0-6
* randomly mutate a sequence, used for evaluation
------------------------------------------------------------------------
r121 | lh3lh3 | 2007-06-11 16:35:55 +0100 (Mon, 11 Jun 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/scripts/mapass2.pl
M /branches/lh3/mapass2/sort_mapping.cc
* recognize "*.fastq.gz" in mapass2.pl
* record single end quality, but for the moment it has not use.
* 0.4.0-5
------------------------------------------------------------------------
r120 | lh3lh3 | 2007-06-04 12:52:58 +0100 (Mon, 04 Jun 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/fastq2bfq.c
fix a bug in sol2sanger. Now it should work properly.
------------------------------------------------------------------------
r119 | lh3lh3 | 2007-06-02 17:39:58 +0100 (Sat, 02 Jun 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/fastq2bfq.c
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/read.cc
* add two commands: sol2sanger and bfq2fastq
* 0.4.0-3
------------------------------------------------------------------------
r118 | lh3lh3 | 2007-06-01 17:07:58 +0100 (Fri, 01 Jun 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/aux_utils.c
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/mapcheck.cc
* fix a bug in cns2win: when no chr is given, it should report all chrs.
* allow to change minimum quality at the command-line.
* in mapcheck, change the default number of mismatches to 4
* 0.4.0-2
------------------------------------------------------------------------
r117 | lh3lh3 | 2007-06-01 13:52:46 +0100 (Fri, 01 Jun 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/mapcheck.cc
* fix a bug: bases on the reverse strand are not complemented
* 0.4.0-1
------------------------------------------------------------------------
r113 | lh3lh3 | 2007-05-15 21:12:51 +0100 (Tue, 15 May 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/NEWS
M /branches/lh3/mapass2/README
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/main.c
Release 0.4.0
------------------------------------------------------------------------
r112 | lh3lh3 | 2007-05-15 20:18:47 +0100 (Tue, 15 May 2007) | 6 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/assemble.h
M /branches/lh3/mapass2/assopt.c
M /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/get_pos.cc
M /branches/lh3/mapass2/mapcheck.cc
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/pileup.cc
M /branches/lh3/mapass2/read.cc
M /branches/lh3/mapass2/scripts/mapass2.pl
* Use hash to search sequence names
* Allow to set a minimum mapping quality when assembling
* Print out an example of farm-run.pl config
* 0.3.1-7
* Prepare to release 0.4.0
------------------------------------------------------------------------
r111 | lh3lh3 | 2007-05-14 22:54:08 +0100 (Mon, 14 May 2007) | 8 lines
Changed paths:
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/configure.ac
* Hide the alternative model on the command-line. It still works,
though, and has an accuracy (when -a -t 0.5) quite similar to the
default one.
* 0.3.1-6
* Prepare to release 0.4.0
------------------------------------------------------------------------
r110 | lh3lh3 | 2007-05-14 13:48:28 +0100 (Mon, 14 May 2007) | 10 lines
Changed paths:
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/assopt.c
M /branches/lh3/mapass2/aux_utils.c
M /branches/lh3/mapass2/configure.ac
* Change the default model to $\theta^k$.
* Forward and reverse strand should be considered together, not
separately. They are indenpendent in some way, but not totally.
* The revised model can achieve a similar accuracy in comparison to
0.3.0.
* 0.3.1-5
------------------------------------------------------------------------
r109 | lh3lh3 | 2007-05-13 22:51:15 +0100 (Sun, 13 May 2007) | 9 lines
Changed paths:
M /branches/lh3/mapass2/Makefile.am
M /branches/lh3/mapass2/Makefile.generic
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/assemble.h
A /branches/lh3/mapass2/assopt.c
M /branches/lh3/mapass2/configure.ac
A /branches/lh3/mapass2/get_pos.cc
A /branches/lh3/mapass2/mapcheck.cc
M /branches/lh3/mapass2/match.hh
A /branches/lh3/mapass2/pileup.cc
* The consensus calling model is changed again. Like always, the
performance is worse, but I will still stick to that model.
Now I feel quite happy with the theory of current model, which
is the first one that satisfies me.
* Split assemble.cc into several files.
* 0.3.1-4
------------------------------------------------------------------------
r108 | lh3lh3 | 2007-05-12 16:04:12 +0100 (Sat, 12 May 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/INSTALL
A /branches/lh3/mapass2/Makefile.generic
D /branches/lh3/mapass2/clean.sh
A /branches/lh3/mapass2/cleanup.sh (from /branches/lh3/mapass2/clean.sh:107)
M /branches/lh3/mapass2/main.c
Make without "configuration".
------------------------------------------------------------------------
r107 | lh3lh3 | 2007-05-11 17:21:19 +0100 (Fri, 11 May 2007) | 2 lines
Changed paths:
A /branches/lh3/mapass2/clean.sh
add a script to clean up all unnecessary files
------------------------------------------------------------------------
r106 | lh3lh3 | 2007-05-11 16:48:52 +0100 (Fri, 11 May 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/INSTALL
M /branches/lh3/mapass2/Makefile.am
M /branches/lh3/mapass2/configure.ac
* 0.3.1-3
* `make install' now works.
* INSTALL is updated.
------------------------------------------------------------------------
r105 | lh3lh3 | 2007-05-11 16:26:44 +0100 (Fri, 11 May 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile.am
M /branches/lh3/mapass2/match_aux.cc
now, mapass2 is known to be compiled under:
i686-linux/x86_64-linux/i386-darwin/i386-Win32/alpha-True64
------------------------------------------------------------------------
r104 | lh3lh3 | 2007-05-11 16:15:45 +0100 (Fri, 11 May 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/fastq2bfq.c
for TRUE64
------------------------------------------------------------------------
r103 | lh3lh3 | 2007-05-11 15:52:25 +0100 (Fri, 11 May 2007) | 2 lines
Changed paths:
A /branches/lh3/mapass2/README
add README file
------------------------------------------------------------------------
r102 | lh3lh3 | 2007-05-11 15:48:23 +0100 (Fri, 11 May 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
D /branches/lh3/mapass2/Makefile
A /branches/lh3/mapass2/Makefile.am
D /branches/lh3/mapass2/Makefile.mac
A /branches/lh3/mapass2/autogen.sh
A /branches/lh3/mapass2/configure.ac
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/match.cc
use GNU building systems
------------------------------------------------------------------------
r100 | lh3lh3 | 2007-05-10 11:48:06 +0100 (Thu, 10 May 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/sort_mapping.cc
* 0.3.1-2
* alignment can be done in color-space
------------------------------------------------------------------------
r99 | lh3lh3 | 2007-05-10 10:18:16 +0100 (Thu, 10 May 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/aux_utils.c
now SNPs in color-space can be correctly called.
------------------------------------------------------------------------
r98 | lh3lh3 | 2007-05-10 00:22:27 +0100 (Thu, 10 May 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/aux_utils.c
M /branches/lh3/mapass2/fasta2bfa.c
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
* convert reference to color-space
* testing command for SNP calling in SOLiD
------------------------------------------------------------------------
r97 | lh3lh3 | 2007-05-09 17:09:50 +0100 (Wed, 09 May 2007) | 2 lines
Changed paths:
A /branches/lh3/mapass2/Makefile.mac
Makefile for Mac OS X: compiling universal binaries.
------------------------------------------------------------------------
r93 | lh3lh3 | 2007-05-09 13:05:04 +0100 (Wed, 09 May 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/NEWS
necessary files for release 0.3.1
------------------------------------------------------------------------
r92 | lh3lh3 | 2007-05-09 10:22:23 +0100 (Wed, 09 May 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/NEWS
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/subsnp.cc
* 0.3.0-5
* pileup: verbose mode
* pileup: sub positions
* reformat NEWS
------------------------------------------------------------------------
r91 | lh3lh3 | 2007-05-08 22:58:57 +0100 (Tue, 08 May 2007) | 7 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/algo.hh
M /branches/lh3/mapass2/assemble.cc
- 0.3.0-4
- fix a memory violation in k-small
- Modify the consensus calling model. The modified model is more
correct in theory, but unfortunately with the same command-line
options this new model yields worse results. However, I will
use this model. This is my way.
------------------------------------------------------------------------
r90 | lh3lh3 | 2007-05-08 19:12:47 +0100 (Tue, 08 May 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/aux_utils.c
- 0.3.0-3
- more options for cns2win
------------------------------------------------------------------------
r89 | lh3lh3 | 2007-05-04 10:55:48 +0100 (Fri, 04 May 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
- 0.3.0-2
- fix a bug when overflow happens given large genome
------------------------------------------------------------------------
r88 | lh3lh3 | 2007-05-04 08:51:21 +0100 (Fri, 04 May 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/subsnp.cc
add subpos: extract a demanded subset from .cns
------------------------------------------------------------------------
r85 | lh3lh3 | 2007-05-03 09:48:47 +0100 (Thu, 03 May 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/FUTURES
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/NEWS
Necessary files for release
------------------------------------------------------------------------
r84 | lh3lh3 | 2007-05-02 15:31:53 +0100 (Wed, 02 May 2007) | 7 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/aux_utils.c
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
A /branches/lh3/mapass2/subsnp.cc
- 0.2.1-8
- assemble.cc: fix a bug in calculating avg01match
- assemble.cc: change default parameters: zita=0.7, max_mm=4
- subsnp.cc: extract a subset of snps
- cns2win: information in a window
------------------------------------------------------------------------
r83 | lh3lh3 | 2007-05-02 13:11:57 +0100 (Wed, 02 May 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/algo.hh
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/assemble.h
M /branches/lh3/mapass2/aux_utils.c
M /branches/lh3/mapass2/scripts/mapass2.pl
- 0.2.1-7
- mapass2.pl: split fastq files and run fastq2bfq in batch
- save the median and maximum of mapping qualities at a position
- other codes are modified accordingly
------------------------------------------------------------------------
r82 | lh3lh3 | 2007-04-30 23:37:34 +0100 (Mon, 30 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
trivial modifications
------------------------------------------------------------------------
r81 | lh3lh3 | 2007-04-30 21:54:34 +0100 (Mon, 30 Apr 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
A /branches/lh3/mapass2/rbcc.cc
M /branches/lh3/mapass2/scripts/mapass2.pl
A /branches/lh3/mapass2/stdhash.hh
- extract main information from dbSNP's chr_rpt.txt
- add reference based consensus calling method
- add my hash template class
------------------------------------------------------------------------
r80 | lh3lh3 | 2007-04-30 17:07:05 +0100 (Mon, 30 Apr 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/scripts/mapass2.pl
- output more information in mapcheck
- run 'mapcheck' in mapass2.pl
------------------------------------------------------------------------
r79 | lh3lh3 | 2007-04-30 15:53:57 +0100 (Mon, 30 Apr 2007) | 7 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
Start to use a modified model to call genotypes. The new model
is quite similar to the old one. It does not yield better results
than the old. I change to use this new one just because it is
theoretically meaningful. The old model was designed at the era
of mapass-1 when only the best three bases can be held in the
memory.
------------------------------------------------------------------------
r70 | lh3lh3 | 2007-04-25 16:23:31 +0100 (Wed, 25 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/aux_utils.c
do not output b2_ratio and b3_ratio
------------------------------------------------------------------------
r69 | lh3lh3 | 2007-04-24 21:26:23 +0100 (Tue, 24 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/sort_mapping.cc
revert some of old codes to improve the calculation of paired mapping qualities
------------------------------------------------------------------------
r66 | lh3lh3 | 2007-04-23 23:56:16 +0100 (Mon, 23 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/NEWS
Release 0.2.1
------------------------------------------------------------------------
r65 | lh3lh3 | 2007-04-23 23:31:26 +0100 (Mon, 23 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
add mapcheck command.
------------------------------------------------------------------------
r64 | lh3lh3 | 2007-04-23 20:00:43 +0100 (Mon, 23 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
fix a bug in `assemble' when multiple sequences are provided.
------------------------------------------------------------------------
r59 | lh3lh3 | 2007-04-22 20:22:04 +0100 (Sun, 22 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/ChangeLog
M /branches/lh3/mapass2/FUTURES
M /branches/lh3/mapass2/INSTALL
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/NEWS
Release mapass2-0.2.0
------------------------------------------------------------------------
r57 | lh3lh3 | 2007-04-22 00:28:15 +0100 (Sun, 22 Apr 2007) | 2 lines
Changed paths:
A /branches/lh3/mapass2/AUTHORS
A /branches/lh3/mapass2/COPYING
A /branches/lh3/mapass2/ChangeLog
A /branches/lh3/mapass2/FUTURES
A /branches/lh3/mapass2/INSTALL
A /branches/lh3/mapass2/NEWS
A /branches/lh3/mapass2/PROBLEMS
necessary files for release
------------------------------------------------------------------------
r55 | lh3lh3 | 2007-04-21 21:16:28 +0100 (Sat, 21 Apr 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/merge.cc
M /branches/lh3/mapass2/sort_mapping.cc
- a few code clean-up, no principal change
- 0.1.2-11
------------------------------------------------------------------------
r54 | lh3lh3 | 2007-04-21 00:59:11 +0100 (Sat, 21 Apr 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/read.cc
M /branches/lh3/mapass2/sort_mapping.cc
- add back missing read pairs
- better model to calculate paired quality
- find abnormal reads
- 0.1.2-10
------------------------------------------------------------------------
r53 | lh3lh3 | 2007-04-20 10:45:32 +0100 (Fri, 20 Apr 2007) | 10 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/sort_mapping.cc
Finally, I decide to use the new model to calculate mapping qualities. This new
model produce 0.6% more FN+FP at the quality around 20, but it is more
theoretically correct and outperforms the old one at high-quality end. However,
this new model cannot will overestimate qualities when the reads has 3 or more
mismatches. To compensate this, my program now discards reads with 3 or more
mismatches. Surprisingly more or less, this decreases the FP but not increase
FN. We should align reads with "match -n 3" even if we take this strategy.
Allowing more mismatches at the alignment stage helps to calculate better
mapping qualities.
------------------------------------------------------------------------
r52 | lh3lh3 | 2007-04-19 16:34:58 +0100 (Thu, 19 Apr 2007) | 6 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/assemble.h
M /branches/lh3/mapass2/aux_utils.c
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/read.cc
M /branches/lh3/mapass2/sort_mapping.cc
- output additional information in .cns
- 'cns2view': check details for all sites
- fix a memory violation in assemble.cc
- attempt to raise the mapping qualities according to my theory, but fail again. The SNPs
are less accurate.
------------------------------------------------------------------------
r51 | lh3lh3 | 2007-04-19 00:41:48 +0100 (Thu, 19 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/match_aux.cc
do statistics about the .map file
------------------------------------------------------------------------
r50 | lh3lh3 | 2007-04-18 22:58:34 +0100 (Wed, 18 Apr 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/read.cc
M /branches/lh3/mapass2/sort_mapping.cc
- sort_mapping.cc: back ported from r42
- read.cc: change adaptor quality to zero, instead of masking them
------------------------------------------------------------------------
r49 | lh3lh3 | 2007-04-18 22:28:35 +0100 (Wed, 18 Apr 2007) | 10 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/read.cc
M /branches/lh3/mapass2/scripts/farm-run.pl
M /branches/lh3/mapass2/sort_mapping.cc
All the efforts to implement a "correct" model of mapping quality turn out to
be a complete failure in the end. I still think the current model is correct
when the genome is fully random. However, this is not the truth. Wrong SNPs
tend to arise from the regions where similar sequences existing. My previous
model assumes there is always similar sequences. This is too conservative,
but in practice it works just fine.
What am I going to do next? Probably revert to the old one. I am so frustrating.
------------------------------------------------------------------------
r48 | lh3lh3 | 2007-04-18 13:57:51 +0100 (Wed, 18 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/match.cc
g++-3.3 was complaining this...
------------------------------------------------------------------------
r47 | lh3lh3 | 2007-04-18 11:50:45 +0100 (Wed, 18 Apr 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/read.cc
M /branches/lh3/mapass2/read.h
- allow mismatches when trimming the adaptor sequence
- even a single base-pair match to the adapator will be masked
------------------------------------------------------------------------
r46 | lh3lh3 | 2007-04-18 00:34:37 +0100 (Wed, 18 Apr 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/const.h
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/read.cc
M /branches/lh3/mapass2/read.h
- dropping adaptor sequences seemingly works
- I think I should allow mismatches to the adaptor
------------------------------------------------------------------------
r45 | lh3lh3 | 2007-04-17 23:36:07 +0100 (Tue, 17 Apr 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/sort_mapping.cc
- I was wrong in calculating of mapping quality. I fixed it, but I am afraid that
we may get more false positives. Anyway, we should stick to the theory, I think.
- Prepare to add codes to remove the adaptor sequence.
------------------------------------------------------------------------
r42 | lh3lh3 | 2007-04-16 17:12:31 +0100 (Mon, 16 Apr 2007) | 8 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/algo.hh
M /branches/lh3/mapass2/assemble.cc
A /branches/lh3/mapass2/aux_utils.c
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
A /branches/lh3/mapass2/scripts
A /branches/lh3/mapass2/scripts/farm-run.pl
A /branches/lh3/mapass2/scripts/mapass2.pl
M /branches/lh3/mapass2/sort_mapping.cc
- fix a memory leak in assemble.cc
- fix a bug in algo_heap_adjust(), which subsequently fails 'mapmerge'.
- output a little more statistics from 'match'
- add 'cns2snp' and other command to extract information for '.cns' dump
- add farm-run.pl, my script to facilitate running large jobs on Sanger's farm.
- add mapass2.pl, a pipeline script
- 0.1.2-1
------------------------------------------------------------------------
r37 | lh3lh3 | 2007-04-15 22:45:16 +0100 (Sun, 15 Apr 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/match.cc
- Paired-end data works better, but we need more large-scale test.
- For some reason, mapass2 is pretty slow on some reads. I have not figured
out the reason.
- Prepare to release 0.1.2.
------------------------------------------------------------------------
r35 | lh3lh3 | 2007-04-15 00:05:56 +0100 (Sun, 15 Apr 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
A /branches/lh3/mapass2/sort_mapping.cc
- put some codes in match_aux.cc into sort_mapping.cc
- mapview can handle large input files
- trim_end works again
- on S. suis data, this version works fine.
------------------------------------------------------------------------
r34 | lh3lh3 | 2007-04-14 18:10:47 +0100 (Sat, 14 Apr 2007) | 6 lines
Changed paths:
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/read.cc
- just read-pair in the correct way...
- correct read pair distance
- high-resolution pair quality (at the cost of memory, though)
- fix a bug where log_n[] always equals to 0
- still need more work...
------------------------------------------------------------------------
r33 | lh3lh3 | 2007-04-13 12:41:16 +0100 (Fri, 13 Apr 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/read.cc
- Paired-end alignment seems to work properly.
- The next move is to fine tune the matching program.
- version 0.1.1-2
------------------------------------------------------------------------
r32 | lh3lh3 | 2007-04-12 15:00:18 +0100 (Thu, 12 Apr 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/fastq2bfq.c
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/read.cc
M /branches/lh3/mapass2/read.h
- Paired reads should be provided in two files.
- Automatically find the read length.
- Codes for paired alignment have been written partly.
------------------------------------------------------------------------
r30 | lh3lh3 | 2007-04-11 17:19:05 +0100 (Wed, 11 Apr 2007) | 3 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
Mapass2 now works reasonably well for un-paired reads. I will work on paired reads, which
should not be hard in the current frame-work. I will release this single-end version as 0.1.1.
------------------------------------------------------------------------
r29 | lh3lh3 | 2007-04-10 22:04:25 +0100 (Tue, 10 Apr 2007) | 7 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/algo.hh
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
A /branches/lh3/mapass2/merge.cc
- Finish "mapmerge" component, which means mapass2 should be able to deal with
large-scale data such as chrX data.
- fix a bug: lname was added for several times
- add heap related functions
------------------------------------------------------------------------
r28 | lh3lh3 | 2007-04-10 16:34:28 +0100 (Tue, 10 Apr 2007) | 2 lines
Changed paths:
A /branches/lh3/mapass2/assemble.h
I forget this header file...
------------------------------------------------------------------------
r27 | lh3lh3 | 2007-04-10 16:33:46 +0100 (Tue, 10 Apr 2007) | 8 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
- output depth in the "pileup" file
- print 10-based intervals as statistics
- calculate a little more accurate alignment quality
- allow to change read-reference difference rate on the command line
- lower read qualities if mismatches happen at the end of a read
- on S. suis data, mapass2 can yield similar results to mapass(1)
------------------------------------------------------------------------
r26 | lh3lh3 | 2007-04-10 13:44:54 +0100 (Tue, 10 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/dword.hh
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
Only hold two index in the memory instead of six. This is a compromise...
------------------------------------------------------------------------
r25 | lh3lh3 | 2007-04-10 11:11:06 +0100 (Tue, 10 Apr 2007) | 6 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/const.c
M /branches/lh3/mapass2/const.h
M /branches/lh3/mapass2/match_aux.cc
- fix a bug when a sequence is reversed.
- fix a bug for quality mis-calculation
- The result looks sensible now, but it is not so accurate as the previous
version. Possibly this is due to the reduced resolution of mapping qualities.
------------------------------------------------------------------------
r24 | lh3lh3 | 2007-04-09 23:31:35 +0100 (Mon, 09 Apr 2007) | 2 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
A /branches/lh3/mapass2/assemble.cc
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
Add 'pileup' and 'assemble' components. They have not been tested yet.
------------------------------------------------------------------------
r23 | lh3lh3 | 2007-04-04 15:46:16 +0100 (Wed, 04 Apr 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/main.c
M /branches/lh3/mapass2/main.h
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/read.cc
- fix maximum mismatch to 4
- dumping the results is now available
- 0.1.0-3
------------------------------------------------------------------------
r22 | lh3lh3 | 2007-04-04 13:32:00 +0100 (Wed, 04 Apr 2007) | 4 lines
Changed paths:
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match.hh
M /branches/lh3/mapass2/match_aux.cc
'match' is a little bit faster, but is still slower than 'mapass'. This is the best I can do for now.
I will move forward to dealing with input/output and consensus calling.
------------------------------------------------------------------------
r21 | lh3lh3 | 2007-04-03 23:19:49 +0100 (Tue, 03 Apr 2007) | 5 lines
Changed paths:
M /branches/lh3/mapass2/Makefile
M /branches/lh3/mapass2/match.cc
M /branches/lh3/mapass2/match_aux.cc
M /branches/lh3/mapass2/read.cc
Fix three bugs. Now mapass2 can produce the same results on a small example.
However, mapass2 is TOO SLOW!!! I am going to improve it tomorrow. Hope I
can make it... It is so frustrating...
------------------------------------------------------------------------
r18 | lh3lh3 | 2007-04-03 21:08:04 +0100 (Tue, 03 Apr 2007) | 5 lines
Changed paths:
A /branches/lh3/mapass2
A /branches/lh3/mapass2/Makefile
A /branches/lh3/mapass2/algo.hh
A /branches/lh3/mapass2/bfa.c
A /branches/lh3/mapass2/bfa.h
A /branches/lh3/mapass2/const.c
A /branches/lh3/mapass2/const.h
A /branches/lh3/mapass2/dword.hh
A /branches/lh3/mapass2/fasta2bfa.c
A /branches/lh3/mapass2/fastq2bfq.c
A /branches/lh3/mapass2/main.c
A /branches/lh3/mapass2/main.h
A /branches/lh3/mapass2/match.cc
A /branches/lh3/mapass2/match.hh
A /branches/lh3/mapass2/match_aux.cc
A /branches/lh3/mapass2/read.cc
A /branches/lh3/mapass2/read.h
A /branches/lh3/mapass2/seq.c
A /branches/lh3/mapass2/seq.h
- New code base. Alignment for paired reads.
- Streamable alignment file.
- Non-paired alignment partially works now.
------------------------------------------------------------------------
maq-0.7.1/FUTURES 0000644 0000766 0000024 00000000000 11005147054 011712 0 ustar lh3 staff maq-0.7.1/INSTALL 0000644 0000766 0000024 00000000743 10766735650 011723 0 ustar lh3 staff
There are two ways to compile maq. The first way is to use the GNU
building systems. Simply type './configure; make; make install' to
compile and to install maq. Three executables 'maq', 'maq.pl' and
'farm-run.pl' will be copied to '/usr/local/bin' by default.
Alternatively, one could compile with 'make -f Makefile.generic' and
manually copy the three executables to the destination directory.
Modification to 'Makefile.generic' is sometimes needed for different
architectures.
maq-0.7.1/Makefile.am 0000644 0000766 0000024 00000001556 11043135375 012714 0 ustar lh3 staff bin_SCRIPTS = scripts/maq.pl scripts/farm-run.pl scripts/maq_plot.pl scripts/maq_eval.pl
bin_PROGRAMS = maq
maq_SOURCES = main.c const.c seq.c bfa.c read.cc fasta2bfa.c fastq2bfq.c merge.cc \
match_aux.cc match.cc sort_mapping.cc assemble.cc pileup.cc mapcheck.cc get_pos.c \
assopt.c aux_utils.c rbcc.cc subsnp.cc pair_stat.cc indel_soa.cc maqmap.c maqmap_conv.c \
altchr.cc submap.c rmdup.cc simulate.c genran.c indel_pe.cc stdaln.c indel_call.cc \
eland2maq.cc csmap2ntmap.cc break_pair.c glfgen.cc
maq_LDADD = -lm -lz
bfa.o:bfa.h
main.o:main.h
const.o:const.h
read.o:read.h
seq.o:seq.h
fasta2bfa.o:const.h seq.h
fastq2bfq.o:const.h seq.h
match.o:match.hh dword.hh main.h algo.hh bfa.h read.h
match_aux.o:read.h match.hh main.h
sort_mapping.o:match.hh algo.hh read.h
assemble.o:assemble.h algo.hh main.h bfa.h
assopt:assemble.h
genran.o:genran.h
simulate.o:genran.h
maq-0.7.1/Makefile.generic 0000644 0000766 0000024 00000002562 11067172577 013744 0 ustar lh3 staff CC= gcc
CXX= g++
CFLAGS= -g -Wall -O2 -m64 # comment out `-m64' for 32-bit compilation
CXXFLAGS= $(CFLAGS)
DFLAGS= -D_FASTMAP -DMAQ_LONGREADS
OBJS= const.o seq.o bfa.o read.o fasta2bfa.o fastq2bfq.o \
match_aux.o match.o sort_mapping.o merge.o get_pos.o \
pileup.o mapcheck.o assopt.o assemble.o maqmap.o \
aux_utils.o rbcc.o subsnp.o pair_stat.o indel_soa.o \
maqmap_conv.o altchr.o submap.o rmdup.o simulate.o \
genran.o indel_pe.o stdaln.o indel_call.o eland2maq.o \
csmap2ntmap.o break_pair.o glfgen.o
PROG= maq
MANPAGE= maq.1
VERSION= 0.7.1
LIBS= -lz -lm
.SUFFIXES:.c .o .cc
.c.o:
$(CC) -c $(CFLAGS) $(DFLAGS) $< -o $@
.cc.o:
$(CXX) -c $(CXXFLAGS) $(DFLAGS) $< -o $@
all:$(PROG) $(MANPAGE)
maq:$(OBJS) main.o
$(CXX) $(CXXFLAGS) $(DFLAGS) $(OBJS) main.o -o $@ $(LIBS)
maq.1:maq.pod
pod2man --center "Bioinformatics Tools" --release "maq-$(VERSION)" maq.pod > $@
main.o:main.c main.h
$(CC) -c $(CFLAGS) $(DFLAGS) -DPACKAGE_VERSION=\"$(VERSION)\" main.c -o main.o
bfa.o:bfa.h
const.o:const.h
read.o:read.h
seq.o:seq.h
fasta2bfa.o:const.h seq.h
fastq2bfq.o:const.h seq.h
match.o:match.hh dword.hh main.h algo.hh bfa.h read.h
match_aux.o:read.h match.hh main.h
sort_mapping.o:match.hh algo.hh read.h
assemble.o:assemble.h algo.hh main.h bfa.h
assopt:assemble.h
genran.o:genran.h
simulate.o:genran.h
clean:
rm -f *.o a.out *~ *.a $(PROG) $(MANPAGE)
maq-0.7.1/Makefile.in 0000644 0000766 0000024 00000046527 11067172614 012737 0 ustar lh3 staff # Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = maq$(EXEEXT)
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
config.guess config.sub install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_maq_OBJECTS = main.$(OBJEXT) const.$(OBJEXT) seq.$(OBJEXT) \
bfa.$(OBJEXT) read.$(OBJEXT) fasta2bfa.$(OBJEXT) \
fastq2bfq.$(OBJEXT) merge.$(OBJEXT) match_aux.$(OBJEXT) \
match.$(OBJEXT) sort_mapping.$(OBJEXT) assemble.$(OBJEXT) \
pileup.$(OBJEXT) mapcheck.$(OBJEXT) get_pos.$(OBJEXT) \
assopt.$(OBJEXT) aux_utils.$(OBJEXT) rbcc.$(OBJEXT) \
subsnp.$(OBJEXT) pair_stat.$(OBJEXT) indel_soa.$(OBJEXT) \
maqmap.$(OBJEXT) maqmap_conv.$(OBJEXT) altchr.$(OBJEXT) \
submap.$(OBJEXT) rmdup.$(OBJEXT) simulate.$(OBJEXT) \
genran.$(OBJEXT) indel_pe.$(OBJEXT) stdaln.$(OBJEXT) \
indel_call.$(OBJEXT) eland2maq.$(OBJEXT) csmap2ntmap.$(OBJEXT) \
break_pair.$(OBJEXT) glfgen.$(OBJEXT)
maq_OBJECTS = $(am_maq_OBJECTS)
maq_DEPENDENCIES =
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
SCRIPTS = $(bin_SCRIPTS)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp =
am__depfiles_maybe =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
SOURCES = $(maq_SOURCES)
DIST_SOURCES = $(maq_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
bin_SCRIPTS = scripts/maq.pl scripts/farm-run.pl scripts/maq_plot.pl scripts/maq_eval.pl
maq_SOURCES = main.c const.c seq.c bfa.c read.cc fasta2bfa.c fastq2bfq.c merge.cc \
match_aux.cc match.cc sort_mapping.cc assemble.cc pileup.cc mapcheck.cc get_pos.c \
assopt.c aux_utils.c rbcc.cc subsnp.cc pair_stat.cc indel_soa.cc maqmap.c maqmap_conv.c \
altchr.cc submap.c rmdup.cc simulate.c genran.c indel_pe.cc stdaln.c indel_call.cc \
eland2maq.cc csmap2ntmap.cc break_pair.c glfgen.cc
maq_LDADD = -lm -lz
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .c .cc .o .obj
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu --ignore-deps'; \
cd $(srcdir) && $(AUTOMAKE) --gnu --ignore-deps \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
maq$(EXEEXT): $(maq_OBJECTS) $(maq_DEPENDENCIES)
@rm -f maq$(EXEEXT)
$(CXXLINK) $(maq_OBJECTS) $(maq_LDADD) $(LIBS)
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_SCRIPTS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$d$$p; then \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
else :; fi; \
done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
.c.o:
$(COMPILE) -c $<
.c.obj:
$(COMPILE) -c `$(CYGPATH_W) '$<'`
.cc.o:
$(CXXCOMPILE) -c -o $@ $<
.cc.obj:
$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d $(distdir) || mkdir $(distdir)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(SCRIPTS) config.h
installdirs:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-exec-am: install-binPROGRAMS install-binSCRIPTS
install-html: install-html-am
install-info: install-info-am
install-man:
install-pdf: install-pdf-am
install-ps: install-ps-am
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
distclean distclean-compile distclean-generic distclean-hdr \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-binPROGRAMS install-binSCRIPTS install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS
bfa.o:bfa.h
main.o:main.h
const.o:const.h
read.o:read.h
seq.o:seq.h
fasta2bfa.o:const.h seq.h
fastq2bfq.o:const.h seq.h
match.o:match.hh dword.hh main.h algo.hh bfa.h read.h
match_aux.o:read.h match.hh main.h
sort_mapping.o:match.hh algo.hh read.h
assemble.o:assemble.h algo.hh main.h bfa.h
assopt:assemble.h
genran.o:genran.h
simulate.o:genran.h
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
maq-0.7.1/NEWS 0000644 0000766 0000024 00000064474 11067172577 011402 0 ustar lh3 staff Beta Release 0.7.1 (26 September, 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Version 0.7.0 does not work with reads >63bp at all. I overlooked two
lines of codes which assume reads are 63bp or shorter. Now I have fixed
the bug and tested it on simulated long reads. It seems to work fine. I
am sorry for this obvious bug. No other things are changed since 0.7.0.
(0.7.1: 26 September 2008, r672)
Beta Release 0.7.0 (21 September, 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Since this release, MAQ can accept reads no longer than 127bp, instead
of 63bp in the previous version. This is achieved at the cost of 18%
slower speed and 16% more peak memory usage. The .map alignment format
is also changed accordingly, which means the new format is NOT
compatible with the old format. I will shortly put a converter on the
MAQ website so that you can convert your alignment done by 0.6.x to the
new format without redoing the alignment. In addition, you can choose to
revert to the 63bp version by configure with "--enable-shortreads", but
this is not recommende.
Furthermore, the NovoCraft developers have implemented a converter that
converts the NovoCraft alignment format to MAQ's .map format. I
incorporated their codes into MAQ. NovoCraft can find short indels with
single-ended reads and have most of major features of MAQ. It is also
fast and well developed. NovoCraft is a good alternative to MAQ.
In additional to the major changes, here are the other notable changes,
only a few:
* Improved progress report in maq map. Someone is using MAQ to align
reads to millions of contigs. The resulting stderr output is even
larger than the alignment itself. Now contig names will not be
printed.
* Fixed a segfault in Smith-Waterman alignment. I have not pinpointed
the line that causes the segfault, but I guess this is caused by a
rare out-of-boundary event. Anyway, the segfault seems to go away
after enforcing the boundary check.
Probably MAQ will never go to 0.8.0. Although it is cheap to make MAQ
align reads up to 255bp, I am not going to do that. When reads go longer
and longer, MAQ's power will be reduced due to its inability to find
short indels on single ended reads. I am still experimenting novel
algorithms for long reads, and BWA, which has been made public, is the
unfinished product. Although BWA has not been fully developed into a
comprehensive package like MAQ, it shows the potential to do ultra-fast
gapped alignment on long reads. The current BWA does global alignment
(w.r.t reads) for a few hundreds bp of reads by taking first few tens of
bp as seed. You can find more information on the MAQ website.
(0.7.0: 21 September 2008, r669)
Beta Release 0.6.8 (27 July, 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Most of new features in this release are mainly designed for the 1000
genome project. For other users, the most obvious change is a bug fix in
the assemble command. Fixing this bug reduces error dependency
coefficient from 0.93 to 0.85. The SNP accuracy remains similar to the
previous version.
Other notable changes include:
* Formally changed the license to GPL version 3.
* Added mapvalidate command, which checks whether an alignment file is
corrupted. The mapmerge command also does some sanity check when
merging alignments.
* Support generating GLF format (for the 1000 Genome Project). Codes
for manipulating GLF files are available in SVN now.
* The mapcheck command can optionally dump additional information for
quality recalibration (for the 1000 Genome Project).
* Fixed a potential bug in indelpe.cc (thank Vaughn for reporting the
bug).
* Fixed a potential compiling error in assopt.c (thank Jason for the
bug report).
* Only dump unmapped reads with `maq map -u'.
* Added more online documentation about how to call SNPs for SOLiD data
and to call SNPs from pooled samples.
(0.6.8: 27 July 2008, r651)
Beta Release 0.6.7 (23 June, 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As promised, MAQ now works with reads from Illumina's long insert-size
libraries and with reads from samples by pooling multiple
individuals/strains together. Also in this release, unmapped reads with
their mates mapped are also stored in the .map alignment file. This
strategy helps users who do local assembly to find structural
variations.
Other notable changes are:
* In indelpe, fixed a bug about the position of an insertion.
Previously, the output position is 1bp-away from the true position.
* In indelpe, output addition information about indels, which also
helps to tell whether the indel is homozygous or heterozygous.
* In SNPfilter, integrated the consensus quality filter. Previously,
this has to be done with an awk command.
* In SNPfilter and easyrun, improved the consensus quality filter. This
is particularly important for SNP calling on pooled samples.
* Added command to detect correputed .map files.
* In mapcheck, optionally output additional information for mapping
based quality calibration.
(0.6.7: 23 June 2008, r631)
Beta Release 0.6.6 (27 April, 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Two new features are added to this release. First, cns2fq now gives
regions where maq believes SNPs can be called confidentially. Second,
maq can optionally dump all perfect or 1-mismatch hits to a separate
file. Maq cannot make use of information of multiple hits, but I can see
outputing these hits may help people who do expressional profiling.
No bugs are fixed in this release and therefore people do not need to
update unless using the new features.
In the next release, maq will support read alignment for Illumina's long
insert-size library which has different read orientation for a read
pair. I will also try to implement a SNP caller for pooled sample.
(0.6.6: 27 April 2008, r602)
Beta Release 0.6.5 (28 March, 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is mainly a bug fix release.
* Fixed bug: read names longer than 35 characters will not be stored in
the alignment file. Command rmdup for PE data will also be affected
when reads have no names. Short read names will not cause any
problems. This bug is specific to 0.6.4.
* Fixed bug: reference shorter than 3bp will cause malformed consensus
file. This bug is specific to 0.6.4.
* Fixed bug: potential memory violation in indelsoa. This rare bug
affects all 0.6.x series.
* Fixed bug: potential memory violation in simulate when the reference
is short. This bug is rare if reference sequences are all long. All
0.6.x will be affected.
In addition to the bug fixes, I also finished SOLiD support in this
release. A new script solid2fastq.pl is introduced to convert SOLiD read
format to FASTQ format accepted by maq. Furthermore, maq is able to
convert color alignment to nucleotide alignment with inferred nucleotide
base qualities. Nucleotide consensus and SNPs can be generated with
assemble in the standard way. There are still some room left for further
improvement. I will work on it in future.
Another change is in the new release, the insert size of a read pair is
measured between the 1st cycle of both reads in the pair, no matter
whether they are mapped as a proper pair or not. Defining insert size in
this way may be more conceptually consistent. Note that this change will
not affect properly aligned Solexa reads at all, but will slightly
affect SOLiD PE reads.
I am really sorry for these bugs in maq and hope the new version is more
stable.
(0.6.5: 28 March 2008, r578)
Beta Release 0.6.4 (15 March, 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Maq is now 90% faster on human alignment. This acceleraion is partly
achieved by extensive code optimization and partly by using 28bp seed,
instead of 24bp in previous versions, in the alignment. As both the
Sanger Inst. and Illumina company have greatly improved the data
quality, using 28bp seed does not affect the final SNP accuracy. If
users still intend to use 24bp seed like before, they should compile maq
with "./configure --enable-slowmap". The online binaries are compilied
with 28bp seed.
It is important to note that Illumina/Solexa sequencing may produce many
false polyA at the edges of a tile. These polyA artefacts may greatly
increase the running time of maq. Users are advised to remove these
artefacts with their own scripts before alignment. For the moment maq
does not provide a general functionality for filtering polyA.
From this version, the names of a pair of reads can be different at the
tailing "/1" or "/2". For example, "read0001/1" and "read0001/2" are
allowed for a read pair. In this way, the two reads in a pair can be
discriminated in the mapview output.
Another important change is the consensus calling model. I noticed a
theoretical flaw in the statistical model behind. The sequencing errors
seem to be more independent when I fixed the flaw and therefore the
error dependency coefficient is increased to 0.93 by default. The final
SNP accuracy is about the same as the previous version.
I also improved the SOLiD support in this version. A script is provided
for converting SOLiD colour reads to the maq fastq. Mate-pair SOLiD
reads can also be correctly aligned. For a SOLiD read pair, the correct
orientation should be F3_reverse-R3_reverse or R3_forward-F3_forward. I
did not know this before.
Other notable changes include:
* Assemble now calculates minimum neighbouring quality in the 7bp
window surrounding the current position. SNPfilter will filter
unreliable SNPs based on the information. This idea is inspired by
NQS (Neighbourhood Quality Standard).
* Optionally store mismatching positions in .map file. The trade-off is
the maximum read length is 55bp when this option is switched on.
* Fixed an ever existing bug in PE alignment. Now about 1% more
properly aligned pairs can be found.
* Added paf_utils.pl script. This script parses soap, eland, rmap and
maq alignment formats to the same format. It also presents an example
about how to read/write maq's binary .map format with Perl.
* Added support for converting Bustard output (_prb.txt and _seq.txt)
in fq_all2std.pl. However, users should avoid using Bustard output at
best. Gerald output is always better.
* "Alternative mapping quality" in mapview is now the lower SE mapping
quality of the two ends. Previously this does not stand for properly
paired reads.
* Filter polyA in reads, only for data generated by the Sanger
Institute. Note that maq can be several times SLOWER if there are a
lot of polyA artefacts in the reads.
* Pileup can optionally output base position on the read.
* Maq now trims long adapter contamination before alignment and trims
short adapter contamination after the alignment.
* Submap now works as a filter on .map file. Users should always
extract the reads in a region with maqindex in the maqview package.
* Updated mapstat command.
* Fixed a bug in easyrun about relative paths.
* Fixed a bug in fasta2csfasta.
* Fixed a rare bug in calculating the distance of a pair.
* Fixed a rare bug in determining the boundary of Smith-Waterman
alignment.
* Added asub, a generic script for submitting array jobs on LSF/SGE.
Added maq_sanger.pl, a script for running maq at the Sanger Inst.
I will work on variants calling for multiple samples and further improve
SOLiD support in future versions. To find the latest development of maq,
please check out:
svn co https://maq.svn.sourceforge.net/svnroot/maq/branches/lh3/maq
(0.6.4: 15 March 2008, r537)
Beta Release 0.6.3 (3 January, 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Again, most changes happened in auxilliary commands. Simulation and Perl
scripts were improved a lot.
Changes and bug fixes include:
* Added diploid simulation mode. Given a haploid reference sequence,
maq can generate a diploid sequence and add variants to both
haploids.
* In 'easyrun', automatically input split FASTQ. Users do not need to
split the input by themselves.
* Paired end reads can be used with 'easyrun'.
* Added 'snpreg' command, which roughly calculates the size of regions
where SNPs can be called.
* Added 'simucns' command, which evaluates the accuracy of consensus
mapping qualities from simulated read alignment.
* Addd 'demo' command to maq.pl. It demonstrates how to simulate reads,
to use easyrun and to evaluate the result with maq_eval.pl.
* In 'maq map', set flag 18 for a read whose mate mapped with the
Smith-Waterman algorithm as paired.
Maq has several companion scripts and consists of many commands, but not
all of them are well documented. I will gradually improve the
documentations, especially those useful to endusers. In addition, not
all maq functionalities are fully optimized. Advanced users may want to
implement in their own ways. I would also like to improve Maq if you
have better ideas.
(0.6.3: 3 January 2008, r466)
Beta Release 0.6.2 (23 November, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Most changes in this release happened in auxilliary commands instead of
key commands. Except for random factors, the 0.6.2 alignment and
consensus should be almost identical to those resultant from 0.6.1.
Other changes and bug fixes include:
* Added an option to dump unmapped reads to a separate file. Users can
study why these reads cannot be aligned.
* Implemented `export2maq' commands which converts Illumina's in-house
Export format to maq's ".maq" binary format. Genotype calling is
supported because the Export format contains mapping qualities of
reads.
* Implemented `eland2maq' command which convert alignments in an Eland
output to Maq's ".map" format. Genotype calling is not defected due
to the lack of qualities.
* Made `indelsoa' command available to end users. This command
implements a state-of-art homozygous break point detector for
single-end reads. However, this command mainly aims to faciliate SNP
filtering around break points instead of finding all the indels. The
`indelpe' command always works better.
* Made most of commands recognize `-' as the standard input or standard
output. This may help stream-based pipeline.
* Restored the `-m' option in `pileup' and `assemble' commands. Some
users regard this to be useful.
* Added fq_all2std.pl, a script to convert various read formats to the
standard/Sanger FASTQ format.
* Improved the rules in filtering SNPs and allowed to filter out SNPs
beside potential indel sites.
* Fixed a bug again in bisulfite alignment mode. This is to meet a
user's request. I have not tried it on real data.
* Added functionalities to evaluate indels in maq_eval.pl.
* Improved `fastq2bfq' command in both maq and maq.pl to make them
easier to use.
* Fixed a weird compiling error for some powperpc64-linux machines.
(0.6.2: 23 November 2007, r428)
Beta Release 0.6.1 (3 October, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is mainly a bugfix release. All of the bugs are minor or happen
rarely. End users may not observe obvious changes in their results. You
do not really need to re-align the reads with this version unless you
feel uncomfortable with any trivial bugs.
The changes and bug fixes include:
* In this release, a read is mapped to the position where the sum of
quality values of mismatched bases is approximately minimum.
* Zero quality will be changed to one in `fastq2bfq'. This is because
zero-quality bases will be regarded as `N' in alignment.
* Fixed a bug in adapter trimming. The preious version does not work
properly.
* Fixed a very rare bug in `assemble' and `pileup'. It may lead to
false zero depth at some sites (about 1 in 1,000,000 sites).
* Fixed a bug for bisulfite alignment mode. This mode has not been
thoroughly tested, though.
(0.6.1: 3 October 2007, r333)
Beta Release 0.6.0 (5 September, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is a release with several bleeding-edge modifications which
jeopardized the stability of maq. Thorough testing has been done to make
sure maq works properly and that is why this release is delayed.
In this new release, maq allows more mismatches after the first 24bp of
a read. Trimming low-quality 3'-end of reads is usually not necessary
any more. In particular, maq does not recommend to trim reads
recursively because this will affect the accuracy of mapping qualities.
Furthermore, since this release, maq is able to find short indels with
paired end (PE) reads. As Illumina's PE protocol will become standard in
the near future, this indel detector will play its role.
Other notable changes include:
* Changed ".map" binary format. The number of mismatches of the second
best hit is replaced by the sum of errors of the best hit. The
distance between the pair now equals to the outer distance. Reads
with indels are also stored in the ".map" files. The mapview output
is changed accordingly.
* Added the number of 0- and 1-mismatch hits to the mapview output.
* Rewrote rmdup command. This command now keeps all abnormal pairs as
well as reads with indels.
* Made simulate command generate reads on both strands. Previously
read1 always come from the forward strand and read2 from the reverse
strand.
* Allowed to change the average MAF for heterozygous sites. This may
help for pooled sample, but it has not been evaluated.
* Improved 3'-adapter trimming. Fully contaiminated reads can be
detected now.
In this release, I am trying to stablize the alignment part and hope the
alignment file generated by maq-0.6.0 can be compatible with later
releases. Furthermore, maq is moving towards the first formal release
1.0.0. In the near future, I will also try to stablize the entire code
instead of testing new features frequently.
(0.6.0: 5 September 2007, r249)
Beta Release 0.5.1 (31 July, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All the notable changes include:
* Bugfix in `map': fixed a bug which will lead to wrong alignment when
two similar regions having identical coordinates but on different
references. This bug can be dated back to the first piece of codes of
maq.
* Bugfix in `map' paired end alignment: fixed a bug which will lead to
wrong alignment when there are two good hits in a small region.
* New feature `simulate': a sophisticated paired end read simulator has
been implemented. It builds an order-one Markov chain and trains
parameters from real read data. The simulator is able to generate
reads with quality distribution quite similar to real ones. In
addition, three parameter sets will be provided with Maq. Endusers
can simulate realistic reads even without any real data.
* New feature `rmdup': remove read pairs with identical outer
coordinates. Doing this may improve the SNP accuracy in practice.
* Since this release, the main documentation will be maintained in a
man page. PDF version will also come with Maq distributions.
(0.5.1: 31 July 2007, r213)
Beta Release 0.5.0 (13 July, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
From this release, this program is formally renamed as `maq', which
stands for Mapping and Assembly with Qualities. The version number still
follows the previous series.
In addition to the name of the program, another major change in this
release is the format of the maq alignment file. In response to the
request of several users, read names will be stored in the alignment
file. The mapview output is also revised accordingly.
Other notable changes and bug fixes in this release include:
* Bugfix in `maq.pl': follow symbolic links.
* New feature `maq_plot.pl': plot read depth and abnormal read pairs
along the reference.
* New feature in `maq.pl': `SNPfilter' command to rule out unreliable
SNPs.
* New feature in `maq.pl': more analyses added to `easyrun'.
(0.5.0: 13 July 2007, r171)
Beta Release 0.4.3 (4 July, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this new release, several bugs are fixed and a number of minor
features are implemented.
* Bugfix in 'mapass2.pl easyrun': fixed bugs when multiple read files
are provided on the command line.
* New feature: allow to use single-end mapping quality in several
commands. By default, mapass2 will use paired end mapping qualities
if reads are paired. However, I found this quality is sometimes
overestimated. It is good to check what the difference between the
results of the two type of mapping qualities.
* Bugfix in 'mapcheck': fixed an integer overflow and skipped 'N'
regions in calculating the average depth.
* Bugfix in paired end alignment: fixed wrong coordinates for 0.03% or
paired reads. Single end alignment will not be affected.
* New feature in 'match': when '-N' is flagged, more alignment
information will be dumped to the stderr.
(0.4.3: 4 July 2007, r148)
Beta Release 0.4.2 (21 June, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Several people were asking me to output the name of each mapped
read. Now here it is. You can tune this feature on by:
mapass2 match -N out.map ref.bfa reads.bfq 2>out.log
The read name, reference seqname, position, strand, paired mapping
quality, single mapping quality and mismatched bases will be printed on
stderr. This option `-N' should only be used in debugging. It will cost
more memory and diskspace as well.
That is all. People who do not need this feature can stick to 0.4.1.
(0.4.2: 21 June 2007, r130)
Beta Release 0.4.1 (17 June, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is mainly a bug fix release. All users are recommended to
update. New features and bug fixes include:
* New command `sol2sanger': convert Solexa FASTQ to Sanger/standard
FASTQ format. The difference between the two formats is how the
qualities are scaled.
* New command `bfq2fastq': convert mapass' binary FASTQ format to
standard FASTQ.
* Bugfix in `cns2win': fixed wrong report when chr is not specified on
the command line.
* Bugfix in `mapcheck': complemented bases on the reverse strand.
(0.4.1: 17 June 2007, r124)
Beta Release 0.4.0 (15 May, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
One week after the last release, 0.4.0 comes out. Several improvements
make this release different from the previous ones:
* New consensus base calling model. Although updating model frequently
happens in the development of mapass2, this one is different. It is
the first model that can satisfy me. All previous models make me feel
uncomfortable in a way or another. However, good theory does not
always mean better performance. The new model only improve the
accuracy by less than 1 percent.
* Preliminary functions to process SOLiD data. This is the first the
release that is able to process AB SOLiD data. The current strategy
cannot fully make use of all the colour information that is unique to
SOLiD data, but it is good enough to study the strength and weakness
of SOLiD data. I may improve these functions when SOLiD becomes more
stable. It is being improved.
* Use of the GNU build systems. Mapass2 is better compiled with 64bit
support. The GNU build systems make this easier. Apple universal
binaries can be compiled, too. Although I still quite like to write
Makefile by myself, I think to use a more sophisticated method is the
right way to go. This is the first time I have tried this.
* Considerable codes clean up and minor improvements in assembling
related parts.
Beginning with this release, I will probably not release mapass2 so
frequently as what happened in the past three weeks. Although I am not
entirely satisfied with the accuracy of current performance, I am happy
with the whole theory behind and the practical usefulness of mapass2. I
am sure mapass2 is one of the best softwares to map and assemble short
reads.
(0.4.0: 15 May 2007, r114)
Beta Release 0.3.1 (9 May, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is a release with minor revisions. The consensus calling model is
modified slightly which, unfortunately, decreases the accuracy by about
1%. However, I will stick to it anyway because it is more concise and
correct in theory. Actually, there is a bug when I was implementing the
old model.
Other changes include:
* Add `subpos' command: extract a required subset from .cns file
* Improve `pileup' output by making it more informative and allowing to
extract a required subset.
* Fix two bugs: one in k-small and the other in `mapcheck'. These are
trivial, though.
(0.3.1: 9 May 2007, r94)
Beta Release 0.3.0 (3 May, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A new release comes out. Consensus calling model has been improved a
little. Read-pair quality can be calculated more precisely. More
commands are added to facilitate subsequent analyses. Detailed
improvements and fixes are:
* Alternative model for consensus base calling. The new model does not
outperform the old one, but it tend to be more correct in theory and
more flexible.
* Improved model for read-pair quality. This fixes possible
overestimation when a pair can be mapped to several places with
correct orientation and distance. Note that the default parameter
should be adjusted in some cases. For chrX data, I suggest to apply
"-t 0.8".
* Reference based consesus calling (RBCC). Call the consensus based on
dbSNP information. Adjust the prior at the dbSNP sites. This is kind
of cheating, but it does help to improve the final SNP calls.
* Informative mapcheck. Command 'mapcheck' now outputs more
information. It is also integrated to 'mapass2.pl'.
* Fastq2bfq in batch mode. This function converts or organizes all the
fastq files in a directory. 'farm-run.pl' script can be easily
applied to the resultant directory structure.
* A few bug fixes.
(0.3.0: 3 May 2007, r86)
Beta Release 0.2.1 (23 April, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is mainly a bug fix release. The previous version cannot give
correct results when there are two or more reference sequences. I am
sorry for this obvious bug. Further improvements include:
* Add `mapcheck' command. This command counts observed substitutions on
reads with respect to the reference. It helps to check the systematic
bias conatined in reads.
* Consensus can be assembled from one sequence. Previously, all the
consensus must be assembled together.
(0.2.1: 23 April 2007, r67)
Beta Release 0.2.0 (22 April, 2007)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is the first release of mapass2, a program that maps
Illumina/Solexa reads to the reference and calls the consensus. This
program has been tested on real large-scale data. It is one of the few
softwares that is able to handle these huge amount of data efficiently
and accurately.
(0.2.0: 22 April 2007, r60)
maq-0.7.1/PROBLEMS 0000644 0000766 0000024 00000000000 10766735650 012022 0 ustar lh3 staff maq-0.7.1/README 0000644 0000766 0000024 00000001653 10766735650 011553 0 ustar lh3 staff
Mapass2 is a software that builds mapping assemblies from short reads
generated by the next-generation sequencing machines. It is particularly
designed for Illumina-Solexa 1G Genetic Analyzer, which typically
generates reads 25-35bp in length.
Mapass2 first aligns reads to reference sequences and then calls the
consensus. At the mapping stage, maq performs ungapped alignment. For
single-end reads, maq is able to find all hits with up to 2 or 3
mismatches, depending on a command-line option; for paired-end reads, it
always finds all paired hits with one of the two reads containing up to
1 mismatch. At the assembling stage, maq calls the consensus based on a
statistical model. It calls the base which maximizes the posterior
probability and calculates a phred quality at each position along the
consensus. Heterozygotes are also called in this process.
For more information, see also maq website:
http://mapass.sourceforge.net
maq-0.7.1/aclocal.m4 0000644 0000766 0000024 00000050775 11067172612 012530 0 ustar lh3 staff # generated automatically by aclocal 1.10.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(AC_AUTOCONF_VERSION, [2.62],,
[m4_warning([this file was generated for autoconf 2.62.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.10.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# _AM_AUTOCONF_VERSION(VERSION)
# -----------------------------
# aclocal traces this macro to find the Autoconf version.
# This is a private macro too. Using m4_define simplifies
# the logic in aclocal, which can simply ignore this definition.
m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.10.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run. This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
# fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
# fails if $ac_aux_dir is absolute,
# fails when called from a subdirectory in a VPATH build with
# a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is `.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
# MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
[dnl Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])dnl
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
])
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 8
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 13
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.60])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_PROG_INSTALL_SH
AM_PROG_INSTALL_STRIP
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_CC],
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES(OBJC)],
[define([AC_PROG_OBJC],
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
])
])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
# loop where config.status creates the headers, so we can generate
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 2
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 5
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it supports --run.
# If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
AC_MSG_WARN([`missing' script is too old or missing])
fi
])
# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_MKDIR_P
# ---------------
# Check for `mkdir -p'.
AC_DEFUN([AM_PROG_MKDIR_P],
[AC_PREREQ([2.60])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
dnl while keeping a definition of mkdir_p for backward compatibility.
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
dnl Makefile.ins that do not define MKDIR_P, so we do our own
dnl adjustment using top_builddir (which is defined more often than
dnl MKDIR_P).
AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
case $mkdir_p in
[[\\/$]]* | ?:[[\\/]]*) ;;
*/*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
esac
])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 3
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# ------------------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 4
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftest.file
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "$[2]" = conftest.file
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT(yes)])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in `make install-strip', and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 2
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
# FORMAT should be one of `v7', `ustar', or `pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
# $tardir.
# tardir=directory && $(am__tar) > result.tar
#
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility.
AM_MISSING_PROG([AMTAR], [tar])
m4_if([$1], [v7],
[am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
[m4_case([$1], [ustar],, [pax],,
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
# Loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
# Do not fold the above two line into one, because Tru64 sh and
# Solaris sh will not grok spaces in the rhs of `-'.
for _am_tool in $_am_tools
do
case $_am_tool in
gnutar)
for _am_tar in tar gnutar gtar;
do
AM_RUN_LOG([$_am_tar --version]) && break
done
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
am__untar="$_am_tar -xf -"
;;
plaintar)
# Must skip GNU tar: if it does not support --format= it doesn't create
# ustar tarball either.
(tar --version) >/dev/null 2>&1 && continue
am__tar='tar chf - "$$tardir"'
am__tar_='tar chf - "$tardir"'
am__untar='tar xf -'
;;
pax)
am__tar='pax -L -x $1 -w "$$tardir"'
am__tar_='pax -L -x $1 -w "$tardir"'
am__untar='pax -r'
;;
cpio)
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
am__untar='cpio -i -H $1 -d'
;;
none)
am__tar=false
am__tar_=false
am__untar=false
;;
esac
# If the value was cached, stop now. We just wanted to have am__tar
# and am__untar set.
test -n "${am_cv_prog_tar_$1}" && break
# tar/untar a dummy directory, and stop if the command works
rm -rf conftest.dir
mkdir conftest.dir
echo GrepMe > conftest.dir/file
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
rm -rf conftest.dir
if test -s conftest.tar; then
AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
fi
done
rm -rf conftest.dir
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
maq-0.7.1/algo.hh 0000644 0000766 0000024 00000007626 10766735650 012144 0 ustar lh3 staff #ifndef LH3_ALGO_HH
#define LH3_ALGO_HH
// algorithm, C++ version. adapted from algo.h of C version.
typedef struct
{
size_t left,right;
} ALGO_QSortStack;
template
void algo_sort(size_t n, ALGO_TYPE a[])
{
size_t s, t, i, j, k;
ALGO_QSortStack *top, *stack;
ALGO_TYPE rp, swap_tmp;
if (n == 0) return;
/* stack = (ALGO_QSortStack*)malloc(sizeof(ALGO_QSortStack) * (size_t)((sizeof(size_t)*log(n)/ALGO_LOG2)+2)); */
stack = (ALGO_QSortStack*)malloc(sizeof(ALGO_QSortStack) * ((sizeof(size_t)*64)+2));
top = stack; s = 0; t = n-1;
while (1) {
if (s < t) {
i = s; j = t; k = (i+j)>>1; rp = a[k];
swap_tmp = a[k]; a[k] = a[t]; a[t] = swap_tmp;
do {
do { ++i; } while (a[i] < rp);
do { --j; } while (j && rp < a[j]);
swap_tmp = a[i]; a[i] = a[j]; a[j] = swap_tmp;
} while (i < j);
swap_tmp = a[i]; a[i] = a[j]; a[j] = swap_tmp;
swap_tmp = a[i]; a[i] = a[t]; a[t] = swap_tmp;
if (i-s > t-i) {
if (i-s > 9) { top->left = s; top->right = i-1; ++top; }
if (t-i > 9) s = i+1;
else s = t;
} else {
if (t-i > 9) { top->left = i+1; top->right = t; ++top; }
if (i-s > 9) t = i-1;
else t = s;
}
} else {
if (top == stack) {
free(stack);
for (i = 1; i < n; ++i)
for (j = i; j > 0 && a[j] < a[j-1]; --j) {
swap_tmp = a[j]; a[j] = a[j-1]; a[j-1] = swap_tmp;
}
return;
} else { --top; s = top->left; t = top->right; }
}
}
}
template
inline void algo_swap(TYPE &a, TYPE &b)
{
TYPE c;
c = a; a = b; b = c;
}
template
TYPE algo_ksmall(size_t n, TYPE array[], size_t k)
/* Return the kth smallest value in array array[0..n-1], The input array will be rearranged
* to have this value in array[k-1], with all smaller elements moved to arr[0..k-2] (in
* arbitrary order) and all larger elements in arr[k..n] (also in arbitrary order) */
{
TYPE *arr, a;
size_t i, ir, j, l, mid;
if (k == 0) k = 1;
arr = array - 1;
l = 1;
ir = n;
for (;;) {
if (ir <= l + 1) { /* Active partition contains 1 or 2 elements */
if (ir == l + 1 && arr[ir] < arr[l]) /* Case of 2 elements */
algo_swap(arr[l], arr[ir]);
return arr[k];
} else {
mid = (l + ir) >> 1;
algo_swap(arr[mid], arr[l+1]);
if (arr[ir] < arr[l]) algo_swap(arr[l], arr[ir]);
if (arr[ir] < arr[l+1]) algo_swap(arr[l+1], arr[ir]);
if (arr[l+1] < arr[l]) algo_swap(arr[l], arr[l+1]);
i = l + 1; /* initialize pointers for partitioning */
j = ir;
a = arr[l+1]; /* partition element */
for (;;) { /* beginning of innermost loop */
do ++i; while (arr[i] < a); /* scan up to find element > a */
do --j; while (a < arr[j]); /* scan down to find element < a */
if (j < i) break; /* Pointers crossed. Partitioning complete. */
algo_swap(arr[i], arr[j]);
}
arr[l+1] = arr[j]; /* insert partitioning element */
arr[j] = a;
if (j >= k) ir = j - 1; /* Keep active the partition that contains the kth element */
if (j <= k) l = i;
}
}
}
template
void algo_shuffle(int n, TYPE *array)
{
int i;
TYPE tmp;
for (i = n - 1; i > 0; --i) {
int rand_ind = (int)(drand48() * i);
tmp = array[i]; array[i] = array[rand_ind]; array[rand_ind] = tmp;
}
}
// Heap related functions (binary heap)
template
inline void algo_heap_adjust(ALGO_TYPE l[], int i, int n)
{
int k;
ALGO_TYPE tmp = l[i];
for (;;) {
k = (i << 1) + 1; // the left child
if (k >= n) { l[i] = tmp; return; }
if (k < n - 1 && l[k] < l[k+1]) ++k;
if (tmp < l[k]) { l[i] = l[k]; i = k; }
else { l[i] = tmp; return; }
}
}
template
void algo_heap_make(ALGO_TYPE l[], int lsize)
{
for (int i = (lsize >> 1) - 1; i >= 0; --i)
algo_heap_adjust(l, i, lsize);
}
template
void algo_heap_sort(ALGO_TYPE l[], int lsize)
{
ALGO_TYPE swap_tmp;
for (int i = lsize - 1; i > 0; --i) {
ALGO_TYPE swap_tmp = l[0];
l[0] = l[i]; l[i] = swap_tmp;
algo_heap_adjust(l, 0, i);
}
}
#endif /* LH3_ALGO_HH */
maq-0.7.1/altchr.cc 0000644 0000766 0000024 00000006126 10766735650 012457 0 ustar lh3 staff #include
#include
#include
#include "main.h"
#include "const.h"
#include "bfa.h"
#include "stdhash.hh"
typedef struct
{
hash_map_char *hash;
bit64_t **snps;
} snp_array_t;
static void maq_delete_snp_array(snp_array_t *s)
{
for (int i = 0; i != int(s->hash->size()); ++i)
free(s->snps[i]);
free(s->snps);
delete s->hash;
free(s);
}
static snp_array_t *maq_load_snp_array(FILE *fp)
{
char name[256], str1[16], str2[16];
snp_array_t *sa = (snp_array_t*)calloc(1, sizeof(snp_array_t));
sa->hash = new hash_map_char;
int pos, c;
char refB, cnsB;
while (fscanf(fp, "%s%d%s%s", name, &pos, str1, str2) == 4) {
refB = str1[0]; cnsB = str2[0];
while ((c = fgetc(fp)) != '\n' && c != EOF);
bit8_t ref = nst_nt16_table[int(refB)];
bit8_t cns = nst_nt16_table[int(cnsB)];
// if (nst_nt16_count_table[ref] != 1 || cns == 0xf || ref == cns) continue;
assert(nst_nt16_count_table[ref] == 1 && cns != 0xf && ref != cns);
bit8_t snp;
if (nst_nt16_count_table[cns] == 2) {
snp = cns ^ ref;
if (nst_nt16_count_table[snp] != 1) continue;
} else if (nst_nt16_count_table[cns] == 1) {
snp = cns;
} else continue;
snp = nst_nt16_nt4_table[ref]<<4 | nst_nt16_nt4_table[snp];
bit64_t tmp;
int id, n;
if (sa->hash->find(name, &tmp)) {
id = tmp>>32;
n = tmp&0xffffffffu;
} else {
if ((sa->hash->size()&0xff) == 0)
sa->snps = (bit64_t**)realloc(sa->snps, sizeof(bit64_t*) * (sa->hash->size() + 0x100));
id = sa->hash->size();
n = 0;
}
if ((n&0xffff) == 0)
sa->snps[id] = (bit64_t*)realloc(sa->snps[id], sizeof(bit64_t) * (n + 0x10000));
tmp = bit64_t(id)<<32 | (n+1);
sa->hash->insert(name, tmp);
sa->snps[id][n++] = bit64_t(snp)<<32 | (pos-1);
}
return sa;
}
void maq_altchr_core(nst_bfa1_t *b, snp_array_t *s)
{
bit64_t tmp;
if (!s->hash->find(b->name, &tmp)) return;
int n = tmp&0xffffffffu;
bit64_t *snps = s->snps[tmp>>32];
for (int k = 0; k != n; ++k) {
bit32_t pos = snps[k]&0xffffffffu;
bit8_t refB = snps[k]>>36 & 3;
bit8_t cnsB = snps[k]>>32 & 3;
int i = pos>>5;
int j = 31 - (pos&0x1f);
// fprintf(stderr, "%d\t%d\t%d\n", refB, cnsB, i);
assert(refB == (b->seq[i]>>(j<<1)&3));
b->seq[i] = (b->seq[i] & ~(bit64_t(3) << (j<<1))) | bit64_t(cnsB) << (j<<1);
}
}
int ma_altchr(int argc, char *argv[])
{
if (argc < 4) {
fprintf(stderr, "Usage: maq altchr \n");
return 1;
}
FILE *fp_bfa, *fp_snp, *fp_alt;
fp_alt = fopen(argv[1], "w");
fp_bfa = fopen(argv[2], "r");
fp_snp = fopen(argv[3], "r");
assert(fp_alt && fp_bfa && fp_snp);
snp_array_t *s = maq_load_snp_array(fp_snp);
nst_bfa1_t *l;
fclose(fp_snp);
while ((l = nst_load_bfa1(fp_bfa)) != 0) {
maq_altchr_core(l, s);
int len = strlen(l->name) + 1;
fwrite(&len, sizeof(int), 1, fp_alt);
fwrite(l->name, sizeof(char), len, fp_alt);
fwrite(&l->ori_len, sizeof(int), 1, fp_alt);
fwrite(&l->len, sizeof(int), 1, fp_alt);
fwrite(l->seq, sizeof(bit64_t) * l->len, 1, fp_alt);
fwrite(l->mask, sizeof(bit64_t) * l->len, 1, fp_alt);
}
fclose(fp_alt); fclose(fp_bfa);
maq_delete_snp_array(s);
return 0;
}
maq-0.7.1/assemble.cc 0000644 0000766 0000024 00000022437 11043135375 012763 0 ustar lh3 staff #include
#include
#include
#include
#include
#include
#include "match.hh"
#include "bfa.h"
#include "main.h"
#include "algo.hh"
#include "assemble.h"
#include "stdhash.hh"
#define WIN_SIZE 7
typedef struct
{
int refN, baseN, ref_len;
int called[256], hom[256], het[256];
int called10[26], hom10[26], het10[26];
} assemble_stat_t;
typedef struct
{
float esum[4], fsum[4];
int b[3], bar_e[2];
bit32_t c[4];
bit32_t depth, avg01match, unique_ratio;
bit32_t mapQ_max;
} base_call_aux_t;
typedef struct {
int is_alt, max_err, min_q;
int is_single, is_pair_only;
int max_mm;
int n_hap;
float hetero_rate;
float theta;
float eta;
} assemble_opt_t;
inline bool operator < (const assemble_posinfo_t &a, const assemble_posinfo_t &b)
{
return (a.info < b.info);
}
/** helper structure related to doing statistics */
static inline void add_to_stat(bit64_t info, assemble_stat_t *as)
{
++as->ref_len;
if (info>>60 == 0xf) ++as->refN;
if ((info>>56&0xf) == 0xf) ++as->baseN;
else {
int j, k;
j = info>>48&0xff;
if (j > 99) j = 99;
k = j/10;
++as->called[j]; ++as->called10[k];
if (nst_nt16_count_table[info>>56&0xf] == 2) { ++as->het[j]; ++as->het10[k]; }
else if (nst_nt16_count_table[info>>56&0xf] == 1 && info>>60 != (info>>56&0xf)) {
++as->hom[j]; ++as->hom10[k];
}
}
}
static void print_stat(assemble_stat_t *as)
{
int sum_called, sum_hom, sum_het;
fprintf(stderr, "S0 reference length: %d\n", as->ref_len);
fprintf(stderr, "S0 number of gaps in the reference: %d\n", as->refN);
fprintf(stderr, "S0 number of uncalled bases: %d (%.2f)\n", as->baseN, (float)(as->baseN-as->refN)/(as->ref_len-as->refN));
fprintf(stderr, "CC\n");
fprintf(stderr, "CC %4s %10s %10s %10s %10s %10s %10s\nCC\n", "qual", "cover", "cover_sum",
"hom", "hom_sum", "het", "het_sum");
sum_called = sum_hom = sum_het = 0;
for (int i = 99; i >= 0; --i) {
sum_called += as->called[i];
sum_hom += as->hom[i];
sum_het += as->het[i];
fprintf(stderr, "S1 %.2d %10d %10d %10d %10d %10d %10d\n", i, as->called[i], sum_called,
as->hom[i], sum_hom, as->het[i], sum_het);
}
fprintf(stderr, "CC\nCC Summary\nCC\n");
sum_called = sum_hom = sum_het = 0;
for (int i = 9; i >= 0; --i) {
sum_called += as->called10[i];
sum_hom += as->hom10[i];
sum_het += as->het10[i];
fprintf(stderr, "S2 %.2d-%.2d %10d %10d %10d %10d %10d %10d\n", i*10, i*10+9, as->called10[i], sum_called,
as->hom10[i], sum_hom, as->het10[i], sum_het);
}
}
/** collect information for base calling */
base_call_aux_t *assemble_cns_collect(assemble_pos_t *ap, const assemble_aux_t *aa)
{
base_call_aux_t *b = (base_call_aux_t*)calloc(1, sizeof(base_call_aux_t));
b->b[0] = b->b[1] = b->b[2] = -1; // uncalled
if (ap->n_bases == 0) return b;
int j, k, depth01, c01, w[8];
algo_sort(ap->n_bases, ap->bases);
depth01 = c01 = 0;
for (k = 0; k != 8; ++k) w[k] = 0;
b->mapQ_max = 0;
for (j = ap->n_bases - 1; j >= 0; --j) {
bit32_t info = ap->bases[j].info;
if (info>>24 < 4 && (info>>8&0x3f) != 0) info = 4<<24 | info&0xffffff;
k = info>>16&7;
if (info>>24 > 0) {
b->esum[k&3] += aa->fk[w[k]] * (info>>24);
b->fsum[k&3] += aa->fk[w[k]];
if (w[k] < 0xff) ++w[k];
++b->c[k&3];
}
if ((info>>19&0x3) <= 1) {
++depth01; c01 += ap->bases[j].c[info>>19&0x3];
}
if (b->mapQ_max < (info&0x7f)) b->mapQ_max = info&0x7f;
}
if (b->mapQ_max > 63) b->mapQ_max = 63;
// find the best three bases;
float max[3];
max[0] = max[1] = max[2] = 0.0;
for (j = 0; j != 4; ++j) {
if (b->esum[j] > max[0]) {
max[2] = max[1]; b->b[2] = b->b[1];
max[1] = max[0]; b->b[1] = b->b[0];
max[0] = b->esum[j]; b->b[0] = j;
} else if (b->esum[j] > max[1]) {
max[2] = max[1]; b->b[2] = b->b[1];
max[1] = b->esum[j]; b->b[1] = j;
} else if (b->esum[j] > max[2]) {
max[2] = b->esum[j]; b->b[2] = j;
}
}
b->bar_e[0] = (b->b[0] >= 0)? (int)(b->esum[b->b[0]] / b->fsum[b->b[0]] + 0.5) : 0;
b->bar_e[1] = (b->b[1] >= 0)? (int)(b->esum[b->b[1]] / b->fsum[b->b[1]] + 0.5) : 0;
b->depth = (ap->n_bases >= 0xff)? 0xff : ap->n_bases;
b->avg01match = bit32_t(16.0 * c01 / depth01 + 0.5);
if (b->avg01match > 0xfffu) b->avg01match = 0xfff;
return b;
}
/** base calling and depth calling */
inline bit64_t assemle_cns_call(assemble_pos_t *ap, const assemble_aux_t *aa, bit32_t ref_base)
{
if (ap->n_bases == 0)
return ((bit64_t)ref_base<<60) | (0xfull<<56) | (0xffull<<40); // not covered
base_call_aux_t *bb = assemble_cns_collect(ap, aa);
bit64_t info = 0;
int w[3], c[3];
float q[3];
bit32_t b[3];
c[0] = bb->b[0] >= 0 ? bb->c[bb->b[0]] : 0;
c[1] = bb->b[1] >= 0 ? bb->c[bb->b[1]] : 0;
if ((c[2] = c[0] + c[1]) > 255) {
c[0] = int(255.0 * c[0] / c[2] + 0.5);
c[1] = int(255.0 * c[1] / c[2] + 0.5);
c[2] = 255;
}
q[0] = (c[1] ? bb->esum[bb->b[1]] : 0) + aa->coef[bb->bar_e[1]<<16|c[2]<<8|c[1]];
q[1] = (c[0] ? bb->esum[bb->b[0]] : 0) + aa->coef[bb->bar_e[0]<<16|c[2]<<8|c[0]];
q[2] = aa->q_r - 4.343 * aa->lhet[c[1]<<8|c[0]];
//if (c[1]) fprintf(stderr, "* %f\t%f\t%d\n", bb->esum[bb->b[1]], aa->coef[bb->bar_e[1]<<16|c[2]<<8|c[1]], bb->bar_e[1]);
//if (c[1] >= 3 && bb->esum[bb->b[1]] >= 80.0) fprintf(stderr, "+ %f\t%f\t%f\n", q[0], q[1], q[2]);
if (q[0] < 0.0) q[0] = 0.0;
if (q[1] < 0.0) q[1] = 0.0;
b[0] = 1<b[0];
b[1] = (bb->b[1] >= 0)? 1<b[1] : 0xf;
b[2] = b[0] | b[1];
// actually, the following codes calculate the "rank" of q[0..2]
w[0] = w[1] = w[2] = -1;
if (q[0] <= q[1]) { // MUST use "<=" here
if (q[1] < q[2]) { w[0] = 0; w[1] = 1; w[2] = 2; }
else { // q[2] <= q[1]
w[2] = 1;
if (q[0] < q[2]) { w[0] = 0; w[1] = 2; }
else { w[0] = 2; w[1] = 0; }
}
} else { // q[1] < q[0]
if (q[0] < q[2]) { w[0] = 1; w[1] = 0; w[2] = 2; }
else { // q[2] <= q[0]
w[2] = 0;
if (q[1] < q[2]) { w[0] = 1; w[1] = 2; }
else { w[0] = 2; w[1] = 1; }
}
}
// change to integer and do base-calling
bit32_t iqual[2];
iqual[0] = (int)(q[w[1]] - q[w[0]] + 0.5);
iqual[1] = (int)(q[w[2]] - q[w[1]] + 0.5);
if (iqual[0] >= 0xff) iqual[0] = 0xff;
if (iqual[1] >= 0xff) iqual[1] = 0xff;
if (w[0] != 2 && w[0] == 1) { // in case weird things happen, and they do happen...
w[0] = 0; w[1] = 1; w[2] = 2; iqual[0] = 3; iqual[1] = 3;
}
info = (ref_base<<28) | (b[w[0]]<<24) | (iqual[0]<<16) | (b[w[1]]<<12) | (b[w[2]]<<8) | iqual[1]; // base call
info <<= 32;
info |= (bb->avg01match << 20) | (bb->mapQ_max<<8) | bb->depth; // depth call
free(bb);
return info;
}
void assemble_core(assemble_aux_t *aa)
{
nst_bfa1_t *l;
int k, seqid, half_win = WIN_SIZE/2;
bit64_t rbuf[WIN_SIZE];
FILE *fp_bfa = aa->fp_bfa;
gzFile fpout = aa->fpout, fp_map = aa->fp_map;
rolling_buf_t *buf = (rolling_buf_t*)calloc(1, sizeof(rolling_buf_t));
assemble_pos_t *pos = (assemble_pos_t*)calloc(1, sizeof(assemble_pos_t));
maqmap_t *mm = maqmap_read_header(fp_map); // skip the sequence names
assemble_stat_t *as = (assemble_stat_t*)calloc(1, sizeof(assemble_stat_t));
hash_map_char *hash = new hash_map_char;
for (k = 0; k != mm->n_ref; ++k) hash->insert(mm->ref_name[k], k);
buf->buf = (maqmap1_t*)calloc(ROLLING_BUF_SIZE, sizeof(maqmap1_t));
k = mm->n_mapped_reads;
while ((l = nst_load_bfa1(fp_bfa)) != 0) {
if (!hash->find(l->name, &seqid)) {
nst_delete_bfa1(l);
continue;
}
fprintf(stderr, "[assemble_core] Processing %s (%d bp)...\n", l->name, l->ori_len);
memset(rbuf, 0, sizeof(bit64_t) * WIN_SIZE);
int len = strlen(l->name) + 1;
gzwrite(fpout, &len, sizeof(int));
gzwrite(fpout, l->name, len);
gzwrite(fpout, &l->ori_len, sizeof(int));
for (int i = 0; i != l->len; ++i) {
bit64_t word = l->seq[i];
bit64_t mask = l->mask[i];
for (int j = 31; j >= 0; --j) {
int coor = (i<<5) | (31 - j);
if (coor >= l->ori_len) break;
bit32_t ref_base = (mask>>(j<<1)&3)? 1<<(word>>(j<<1)&3) : 0xf;
assemble_get_pos(seqid, coor, fp_map, buf, pos, aa->max_mm, aa->max_err,
aa->min_q, aa->is_single, aa->is_pair_only);
bit64_t info = assemle_cns_call(pos, aa, ref_base);
add_to_stat(info, as);
rbuf[coor%WIN_SIZE] = info;
if (coor >= half_win) {
int min = 256;
bit64_t x;
info = rbuf[(coor-half_win)%WIN_SIZE];
for (k = coor + 1 - WIN_SIZE; k < coor - half_win; ++k) {
x = rbuf[(k+WIN_SIZE)%WIN_SIZE];
if (min > int(x>>48&0xff)) min = x>>48&0xff;
}
for (k = coor - half_win + 1; k <= coor; ++k) {
x = rbuf[k%WIN_SIZE];
if (min > int(x>>48&0xff)) min = x>>48&0xff;
}
if (min >= 62) min = 62;
min >>= 1;
info |= min << 15;
// something like little endianness, but not exactly
bit32_t high_info = (bit32_t)(info>>32);
bit32_t low_info = (bit32_t)info;
gzwrite(fpout, &low_info, sizeof(bit32_t));
gzwrite(fpout, &high_info, sizeof(bit32_t));
}
}
}
for (int coor = (l->ori_len > half_win)? l->ori_len - half_win : 0; coor < l->ori_len; ++coor) {
bit64_t info = rbuf[coor%WIN_SIZE];
bit32_t high_info = (bit32_t)(info>>32);
bit32_t low_info = (bit32_t)info;
gzwrite(fpout, &low_info, sizeof(bit32_t));
gzwrite(fpout, &high_info, sizeof(bit32_t));
}
nst_delete_bfa1(l);
}
print_stat(as);
delete hash;
maq_delete_maqmap(mm);
free(buf->buf); free(buf);
free(pos->bases); free(pos); free(as);
}
int ma_assemble(int argc, char *argv[])
{
assemble_aux_t *aa = assemble_parse_opt(argc, argv);
assemble_core(aa);
delete_assemble_aux(aa);
return 0;
}
maq-0.7.1/assemble.h 0000644 0000766 0000024 00000003141 11027727762 012625 0 ustar lh3 staff #ifndef LH3_ASSEMBLE_H
#define LH3_ASSEMBLE_H
#include
#include
#include "maqmap.h"
#include "const.h"
#define ROLLING_BUF_SIZE 0x100000
typedef struct
{
// map_qual should be no bigger than 99
// empty:2, qual:6; empty:1, is_present:1, mm:3, strand:1, base:2; empty:2, base_qual:6; map_qual:8
bit32_t info;
bit8_t c[2];
bit8_t pos;
} assemble_posinfo_t;
typedef struct
{
int n_bases, m_bases;
assemble_posinfo_t *bases;
} assemble_pos_t;
typedef struct
{
int n_reads, n_types;
bit64_t indels[256];
int n_ungap;
bit8_t beg_pos[256], end_pos[256], n_mm[256];
int ins_bases[MAX_READLEN][4];
} assemble_indelpos_t;
typedef struct
{
int head, tail, is_rounded;
maqmap1_t *buf;
} rolling_buf_t;
typedef struct
{
float hetero_rate, theta, eta, maf, q_r;
int max_mm, max_err, min_q, is_alt, is_single, is_pair_only;
double *fk, *coef;
FILE *fp_bfa;
gzFile fpout, fp_map;
int n_hap;
double *lhet;
} assemble_aux_t;
// ref_base:4, base:4, qual:8; base2:4, base3:4, qual2:8; avg01:12, qNei:5, het:1, qMax:6, depth:8
// 60 56 48 44 40 32 20 15 14 8 0
#ifdef __cplusplus
extern "C" {
#endif
void assemble_get_pos(bit32_t seqid, bit32_t pos, gzFile fpin, rolling_buf_t *ab, assemble_pos_t *ap,
int max_mm, int max_err, int min_q, int is_single, int is_pair_only);
assemble_aux_t *assemble_parse_opt(int argc, char *argv[]);
void assemble_get_indelpos(bit32_t seqid, bit32_t pos, gzFile fpin, rolling_buf_t *ab, assemble_indelpos_t *ai);
void delete_assemble_aux(assemble_aux_t *aa);
#ifdef __cplusplus
}
#endif
#endif
maq-0.7.1/assopt.c 0000644 0000766 0000024 00000016064 11043135375 012335 0 ustar lh3 staff #include
#include
#include
#include
#include
#include "assemble.h"
#ifdef __cplusplus
extern "C" {
#endif
long double expl(long double);
long double logl(long double);
#ifdef __cplusplus
}
#endif
/*
P() = \theta \sum_{i=1}^{N-1} 1/i
P(D|) = \sum_{k=1}^{N-1} p_k 1/2 [(k/N)^n_2(1-k/N)^n_1 + (k/N)^n1(1-k/N)^n_2]
p_k = i/k / \sum_{i=1}^{N-1} 1/i
*/
static void cal_het(assemble_aux_t *aa)
{
int k, n1, n2;
double sum_harmo; // harmonic sum
double poly_rate;
double p1 = 0.0, p3 = 0.0; // just for testing
aa->lhet = (double*)calloc(256 * 256, sizeof(double));
sum_harmo = 0.0;
for (k = 1; k <= aa->n_hap - 1; ++k)
sum_harmo += 1.0 / k;
for (n1 = 0; n1 < 256; ++n1) {
for (n2 = 0; n2 < 256; ++n2) {
long double sum = 0.0;
double lC = lgamma(n1+n2+1) - lgamma(n1+1) - lgamma(n2+1); // \binom{n1+n2}{n1}
for (k = 1; k <= aa->n_hap - 1; ++k) {
double pk = 1.0 / k / sum_harmo;
double log1 = log((double)k/aa->n_hap);
double log2 = log(1.0 - (double)k/aa->n_hap);
sum += pk * 0.5 * (expl(log1*n2) * expl(log2*n1) + expl(log1*n1) * expl(log2*n2));
}
aa->lhet[n1<<8|n2] = lC + logl(sum);
if (n1 == 17 && n2 == 3) p3 = lC + logl(expl(logl(0.5) * 20));
if (n1 == 19 && n2 == 1) p1 = lC + logl(expl(logl(0.5) * 20));
}
}
poly_rate = aa->hetero_rate * sum_harmo;
aa->q_r = -4.343 * log(2.0 * poly_rate / (1.0 - poly_rate));
fprintf(stderr, "[cal_het] harmonic sum: %lf\n", sum_harmo);
fprintf(stderr, "[cal_het] het penalty: %.2lf vs. %.2lf\n", aa->q_r,
-4.343 * log(2.0 * aa->hetero_rate / (1.0 - aa->hetero_rate)));
fprintf(stderr, "[cal_het] 3 differences out of 20 bases: %.2lf vs. %.2lf\n",
-4.343 * aa->lhet[17<<8|3], -4.343 * p3);
fprintf(stderr, "[cal_het] 1 differences out of 20 bases: %.2lf vs. %.2lf\n",
-4.343 * aa->lhet[19<<8|1], -4.343 * p1);
}
static void cal_coef_ind(assemble_aux_t *aa)
{
int n, q, k;
double *lC;
lC = (double*)calloc(256 * 256, sizeof(double));
aa->fk = (double*)calloc(256, sizeof(double));
aa->coef = (double*)calloc(256*256*64, sizeof(double));
for (n = 1; n != 256; ++n)
for (k = 1; k <= n; ++k)
lC[n<<8|k] = lgamma(n+1) - lgamma(k+1) - lgamma(n-k+1);
for (n = 0; n != 256; ++n) aa->fk[n] = 1.0;
for (q = 1; q != 64; ++q) {
double e = pow(10.0, -q/10.0);
double le1 = log(1.0-e);
for (n = 1; n != 256; ++n) {
double *coef = aa->coef + (q<<16|n<<8);
for (k = n; k >= 0; --k)
coef[k] = -4.343 * (lC[n<<8|k] + (n-k) * le1);
}
}
free(lC);
}
/** initialize the helper structure */
static void cal_coef(assemble_aux_t *aa)
{
int k, n, q;
long double sum_a[257], b[256], q_c[256], tmp[256], fk2[256];
double *lC;
lC = (double*)calloc(256 * 256, sizeof(double));
// aa->lhet will be allocated and initialized
aa->fk = (double*)calloc(256, sizeof(double));
aa->coef = (double*)calloc(256*256*64, sizeof(double));
aa->fk[0] = fk2[0] = 1.0;
for (n = 1; n != 256; ++n) {
aa->fk[n] = ((!aa->is_alt)? pow(aa->theta, n) : pow(n+1, -aa->theta)) * (1.0 - aa->eta) + aa->eta;
fk2[n] = aa->fk[n>>1];
}
for (n = 1; n != 256; ++n)
for (k = 1; k <= n; ++k)
lC[n<<8|k] = lgamma(n+1) - lgamma(k+1) - lgamma(n-k+1);
for (q = 1; q != 64; ++q) {
double e = pow(10.0, -q/10.0);
double le = log(e);
double le1 = log(1.0-e);
for (n = 1; n != 256; ++n) {
double *coef = aa->coef + (q<<16|n<<8);
sum_a[n+1] = 0.0;
for (k = n; k >= 0; --k) { // a_k = \sum_{i=k}^n C^n_k \epsilon^k (1-\epsilon)^{n-k}
sum_a[k] = sum_a[k+1] + expl(lC[n<<8|k] + k*le + (n-k)*le1);
b[k] = sum_a[k+1] / sum_a[k];
if (b[k] > 0.99) b[k] = 0.99;
}
for (k = 0; k != n; ++k) // c_k
q_c[k] = -4.343 * fk2[k] * logl(b[k] / e);
for (k = 1; k != n; ++k) q_c[k] += q_c[k-1]; // \prod_{i=0}^k c_i
for (k = 0; k <= n; ++k) { // powl() in 64-bit mode seems broken on my Mac OS X 10.4.9
tmp[k] = -4.343 * logl(1.0 - expl(fk2[k] * logl(b[k])));
coef[k] = (k? q_c[k-1] : 0) + tmp[k];
}
if (q == 1000 && n == 20) { // This never happens. I use these codes to look at values when debugging.
double ttt[257], *tt;
tt = ttt + 1;
tt[0] = fk2[k];
for (k = 1; k != n; ++k) tt[k] = tt[k-1] + fk2[k];
for (k = 0; k != n; ++k) {
fprintf(stderr, "%d\t%Lf\t%Lg\t%Lg\t%g\t%Lg\t%Lg\n", k, fk2[k], expl(lC[n<<8|k] + k*le + (n-k)*le1),
expl(-coef[k]/4.343)*expl(tt[k]*le), coef[k], expl(logl(b[k])*fk2[k]), b[k]);
}
exit(0);
}
}
}
free(lC);
}
static int usage(const assemble_aux_t *aa)
{
fprintf(stderr, "\nUsage: maq assemble [options] \n\n");
fprintf(stderr, "Options: -r FLOAT expected rate of heterozygotes [%.3f]\n", aa->hetero_rate);
fprintf(stderr, " -t FLOAT dependency coefficient (theta) [%.2f]\n", aa->theta);
fprintf(stderr, " -q INT minimum mapping quality [%d]\n", aa->min_q);
fprintf(stderr, " -Q INT maximum sum of errors [%d]\n", aa->max_err);
fprintf(stderr, " -m INT maximum number of mismatches [%d]\n", aa->max_mm);
fprintf(stderr, " -N INT number of haplotypes (>=2) [%d]\n", aa->n_hap);
fprintf(stderr, " -s use single-end mapping quality\n");
fprintf(stderr, " -p discard abnormal pairs\n");
// fprintf(stderr, " -e FLOAT minimum independency (eta) [0.03] (EXPERIMENTAL)\n"); // only for me...
// fprintf(stderr, " -a alternative model (EXPERIMENTAL)\n"); // only for me...
fprintf(stderr, "\n");
return 1;
}
static assemble_aux_t *new_opt()
{
assemble_aux_t *aa;
aa = (assemble_aux_t*)calloc(1, sizeof(assemble_aux_t));
aa->max_err = 60;
aa->max_mm = 7;
aa->hetero_rate = 0.001;
aa->theta = 0.85;
aa->eta = 0.03;
aa->n_hap = 2;
aa->maf = 0.5; // will be removed in future
return aa;
}
assemble_aux_t *assemble_parse_opt(int argc, char *argv[])
{
assemble_aux_t *aa;
int c;
aa = new_opt();
while ((c = getopt(argc, argv, "q:Q:r:t:e:aspm:N:")) >= 0) {
switch (c) {
case 'p': aa->is_pair_only = 1; break;
case 'm': aa->max_mm = atoi(optarg); break;
case 'q': aa->min_q = atoi(optarg); break;
case 'Q': aa->max_err = atoi(optarg); break;
case 'r': aa->hetero_rate = atof(optarg); break;
case 't': aa->theta = atof(optarg); break;
case 'e': aa->eta = atof(optarg); break;
case 'a': aa->is_alt = 1; break;
case 'N': aa->n_hap = atoi(optarg); break;
case 's': aa->is_single = 1; break;
default:
usage(aa);
free(aa);
exit(1);
}
}
if (argc - optind < 3) {
usage(aa);
exit(1);
}
aa->fpout = (strcmp(argv[optind], "-") == 0)? gzdopen(fileno(stdout), "w") : gzopen(argv[optind], "w");
aa->fp_bfa = fopen(argv[optind+1], "r");
aa->fp_map = (strcmp(argv[optind+2], "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(argv[optind+2], "r");
assert(aa->fpout && aa->fp_bfa && aa->fp_map);
if (aa->theta >= 1.0) aa->theta = 1.0; // capped at 1.0
if (aa->theta >= 0.999) cal_coef_ind(aa);
else cal_coef(aa);
cal_het(aa);
return aa;
}
void delete_assemble_aux(assemble_aux_t *aa)
{
if (aa == 0) return;
free(aa->lhet); free(aa->fk); free(aa->coef);
gzclose(aa->fpout); gzclose(aa->fp_map); fclose(aa->fp_bfa);
free(aa);
}
maq-0.7.1/autogen.sh 0000755 0000766 0000024 00000000277 10766735650 012675 0 ustar lh3 staff #!/bin/sh
run ()
{
echo "running: $*"
eval $*
if test $? != 0 ; then
echo "error: while running '$*'"
exit 1
fi
}
run aclocal
run autoheader
run automake -a
run autoconf
maq-0.7.1/aux_utils.c 0000644 0000766 0000024 00000021013 11027727762 013040 0 ustar lh3 staff #include
#include
#include
#include
#include
#include
#include
#include "const.h"
#include "main.h"
#define LINE_LEN 60
void cns_cns2snp(FILE *fpout, gzFile fp, int is_all, int is_alt)
{
int i, len, n_high = 0;
while (gzread(fp, &len, sizeof(int))) {
char *name = (char*)malloc(len);
gzread(fp, name, len);
gzread(fp, &len, sizeof(int));
for (i = 0; i != len; ++i) {
bit32_t low, high;
gzread(fp, &low, sizeof(bit32_t));
gzread(fp, &high, sizeof(bit32_t));
if (is_all || (high>>28 != (high>>24&0xf) && (high>>24&0xf) != 0xf)) {
// chr, pos, refB, cnsB, cnsQ, depth, avg01, mapQmax, refDiff
fprintf(fpout, "%s\t%d\t%c\t%c\t%d\t%d\t%.2f\t%d\t%d", name, i + 1, nst_nt16_rev_table[high>>28],
nst_nt16_rev_table[high>>24&0xf], high>>16&0xff, low&0xff, (float)(low>>20&0xfff)/16.0,
low>>8&0x3f, (low>>15&0x1f)<<1);
if (is_alt) fprintf(fpout, "\t%c\t%d\t%c\n", nst_nt16_rev_table[high>>12&0xf], high&0xff,
nst_nt16_rev_table[high>>8&0xf]);
else fputc('\n', fpout);
}
if ((low>>8&0x3f) >= 40 && (float)(low>>20&0xfff)/16.0 >= 0.25 && (low&0xff) >= 3) ++n_high;
}
free(name);
}
}
void cns_cns2win(FILE *fpout, gzFile fp, int win_size, const char *chr, int begin, int end, int minQ)
{
int i, len;
while (gzread(fp, &len, sizeof(int))) {
char *name = (char*)malloc(len);
int n_cvg, n_snp, n_het, depth, match, gc, is_chr, n_unique, uni_depth;
gzread(fp, name, len);
gzread(fp, &len, sizeof(int));
n_cvg = n_snp = n_het = depth = match = gc = 0;
n_unique = uni_depth = 0;
is_chr = (chr == 0 || strcmp(chr, name) == 0)? 1 : 0;
for (i = 0; i != len; ++i) {
bit32_t low, high;
gzread(fp, &low, sizeof(bit32_t));
gzread(fp, &high, sizeof(bit32_t));
if (high>>28 != 0xf) {
if ((high>>16&0xff) >= minQ) {
++n_cvg;
if ((low>>20&0xfff) >= 8 && (low>>20&0xfff) <= 32) {
++n_unique;
uni_depth += low&0xff;
}
if (nst_nt16_count_table[high>>24&0xf] == 2) ++n_het;
if (high>>28 != (high>>24&0xf)) ++n_snp;
if (high>>28 == 2 || high>>28 == 4) ++gc;
depth += low&0xff;
match += low>>20&0xfff;
}
}
if ((i+1)%win_size == 0 || i+1 == len) { // print
int pos = i+(win_size>>1)+1;
if (is_chr && (begin >= end || (pos >= begin && pos <= end))) {
float alt_depth = (n_unique == 0)? 0.0 : (float)uni_depth/n_unique;
// chr,pos,snpRate,hetRate,oriDepth,altDepth,01Match,GC%
if (n_cvg > 0) {
fprintf(fpout, "%s\t%.6f\t%g\t%g\t%.3f\t%.3f\t%.3f\t%.3f\n", name, pos/1000000.0,
(float)n_snp/n_cvg, (float)n_het/n_cvg, (float)depth/n_cvg, alt_depth,
(float)match/n_cvg/16.0, 100.0*gc/n_cvg);
} else {
fprintf(fpout, "%s\t%.6f\t%g\t%g\t%.3f\t%.3f\t%.3f\t%.3f\n", name, pos/1000000.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
}
n_cvg = n_snp = n_het = depth = match = gc = 0;
n_unique = uni_depth = 0;
}
}
}
free(name);
}
}
void cns_cns2ref(FILE *fpout, gzFile fp)
{
int i, len;
while (gzread(fp, &len, sizeof(int))) {
char *name = (char*)malloc(len);
gzread(fp, name, len);
fprintf(fpout, ">%s\n", name);
gzread(fp, &len, sizeof(int));
for (i = 0; i != len; ++i) {
bit32_t low, high;
gzread(fp, &low, sizeof(bit32_t));
gzread(fp, &high, sizeof(bit32_t));
fputc(nst_nt16_rev_table[high>>28], fpout);
if ((i+1)%LINE_LEN == 0) fputc('\n', fpout);
}
if (i%LINE_LEN != 0) fputc('\n', fpout);
free(name);
}
}
void cns_cns2cssnp(FILE *fpout, gzFile fp)
{
int i, len, q[2], b[2], r[2];
while (gzread(fp, &len, sizeof(int))) {
char *name = (char*)malloc(len);
gzread(fp, name, len);
gzread(fp, &len, sizeof(int));
r[0] = b[0] = 15; q[0] = 0;
for (i = 0; i != len; ++i) {
bit32_t low, high;
int is_snp = 0;
gzread(fp, &low, sizeof(bit32_t));
gzread(fp, &high, sizeof(bit32_t));
r[1] = high>>28; b[1] = high>>24&0xf; q[1] = high>>16&0xff;
if (r[0] != 15 && r[1] != 15 && b[0] != 15 && b[1] != 15 && r[0] != b[0] && r[1] != b[1]
&& (b[0]&r[0]) == (b[1]&r[1]))
{
int c = nst_nt16_count_table[b[0]|r[0]|b[1]|r[1]];
if (r[0] == r[1]) {
if (b[0] == b[1]) is_snp = 1;
} else {
if (c == 4 || c == 2) is_snp = 1;
}
}
if (is_snp) {
fprintf(fpout, "%s\t%d\t%c%c\t%c%c\t%d\t%d\n", name, i + 1, nst_nt16_rev_table[r[0]],
nst_nt16_rev_table[r[1]], nst_nt16_rev_table[b[0]], nst_nt16_rev_table[b[1]], q[0], q[1]);
}
r[0] = r[1]; b[0] = b[1]; q[0] = q[1];
}
free(name);
}
}
void cns_cns2fq(FILE *fpout, gzFile fp, bit32_t min_mapq, bit32_t min_depth, bit32_t max_depth, bit32_t min_nQ, float hidden)
{
int i, len;
while (gzread(fp, &len, sizeof(int))) {
char *name = (char*)malloc(len);
bit8_t *qual;
gzread(fp, name, len);
fprintf(fpout, "@%s", name);
gzread(fp, &len, sizeof(int));
qual = (bit8_t*)malloc(len);
for (i = 0; i != len; ++i) {
bit32_t low, high;
if (i%LINE_LEN == 0) fputc('\n', fpout);
gzread(fp, &low, sizeof(bit32_t));
gzread(fp, &high, sizeof(bit32_t));
if ((low>>8&0x3f) >= min_mapq && (float)(low>>20&0xfff)/16.0 >= hidden && (low&0xff) >= min_depth
&& (low&0xff) <= max_depth && (low>>15&0x1f)<<1 >= min_nQ)
{
fputc(nst_nt16_rev_table[high>>24&0xf], fpout);
} else fputc(tolower(nst_nt16_rev_table[high>>24&0xf]), fpout);
qual[i] = ((high>>16&0xff) + 33 > 126)? 126 : (high>>16&0xff) + 33;
}
fprintf(fpout, "\n+");
for (i = 0; i != len; ++i) {
if (i%LINE_LEN == 0) fputc('\n', fpout);
fputc(qual[i], fpout);
}
fputc('\n', fpout);
free(name); free(qual);
}
}
/* main() functions */
int ma_cns2ref(int argc, char *argv[])
{
gzFile fp;
if(argc < 2) {
fprintf(stderr, "Usage: maq cns2ref \n");
return 1;
}
fp = (strcmp(argv[1], "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(argv[1], "r");
assert(fp);
cns_cns2ref(stdout, fp);
gzclose(fp);
return 0;
}
int ma_cns2snp(int argc, char *argv[])
{
gzFile fp;
if(argc < 2) {
fprintf(stderr, "Usage: maq cns2snp \n");
return 1;
}
fp = (strcmp(argv[1], "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(argv[1], "r");
assert(fp);
cns_cns2snp(stdout, fp, 0, 1);
gzclose(fp);
return 0;
}
int ma_cns2cssnp(int argc, char *argv[])
{
gzFile fp;
if(argc < 2) {
fprintf(stderr, "Usage: maq cns2cssnp \n");
return 1;
}
fp = (strcmp(argv[1], "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(argv[1], "r");
assert(fp);
cns_cns2cssnp(stdout, fp);
gzclose(fp);
return 0;
}
int ma_cns2view(int argc, char *argv[])
{
gzFile fp;
if (argc < 2) {
fprintf(stderr, "Usage: maq cns2view \n");
return 1;
}
fp = (strcmp(argv[1], "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(argv[1], "r");
assert(fp);
cns_cns2snp(stdout, fp, 1, 1);
gzclose(fp);
return 0;
}
int ma_cns2win(int argc, char *argv[])
{
gzFile fp;
int win_size = 1000, begin, end, c, minQ;
char *chr;
begin = end = minQ = 0; chr = 0;
while ((c = getopt(argc, argv, "w:b:e:c:q:")) >= 0) {
switch (c) {
case 'w': win_size = atoi(optarg); break;
case 'b': begin = atoi(optarg); break;
case 'e': end = atoi(optarg); break;
case 'c': chr = strdup(optarg); break;
case 'q': minQ = atoi(optarg); break;
}
}
if (optind >= argc) {
fprintf(stderr, "Usage: maq cns2win [-w 1000] [-b 0] [-e 0] [-c null] [-q 0] \n");
return 1;
}
fp = (strcmp(argv[optind], "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(argv[optind], "r");
assert(fp);
cns_cns2win(stdout, fp, win_size, chr, begin, end, minQ);
gzclose(fp);
free(chr);
return 0;
}
int ma_cns2fq(int argc, char *argv[])
{
gzFile fp;
double hidden = 0.25;
int c, min_mapq = 40, min_depth = 3, max_depth = 255, min_nQ = 20;
while ((c = getopt(argc, argv, "Q:d:D:n:c:")) >= 0) {
switch (c) {
case 'Q': min_mapq = atoi(optarg); break;
case 'd': min_depth = atoi(optarg); break;
case 'D': max_depth = atoi(optarg); break;
case 'n': min_nQ = atoi(optarg); break;
case 'c': hidden = atof(optarg); break;
default: return 1;
}
}
if (optind == argc) {
fprintf(stderr, "\n");
fprintf(stderr, "Usage: maq cns2fq [options] \n\n");
fprintf(stderr, "Options: -Q INT minimum mapping quality [%d]\n", min_mapq);
fprintf(stderr, " -n INT minimum neighbouring quality [%d]\n", min_nQ);
fprintf(stderr, " -d INT minimum read depth [%d]\n", min_depth);
fprintf(stderr, " -D INT maximum read depth [%d]\n\n", max_depth);
return 1;
}
fp = (strcmp(argv[optind], "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(argv[optind], "r");
assert(fp);
cns_cns2fq(stdout, fp, min_mapq, min_depth, max_depth, min_nQ, hidden);
gzclose(fp);
return 0;
}
maq-0.7.1/bfa.c 0000644 0000766 0000024 00000003300 11065656462 011552 0 ustar lh3 staff #include
#include
#include
#include
#include "bfa.h"
nst_bfa1_t *nst_new_bfa1()
{
nst_bfa1_t *bfa1;
bfa1 = (nst_bfa1_t*)malloc(sizeof(nst_bfa1_t));
bfa1->name = 0;
bfa1->seq = bfa1->mask = 0;
bfa1->ori_len = bfa1->len = 0;
return bfa1;
}
void nst_delete_bfa1(nst_bfa1_t *bfa1)
{
if (bfa1 == 0) return;
free(bfa1->name);
free(bfa1->seq);
free(bfa1->mask);
free(bfa1);
}
nst_bfa1_t *nst_load_bfa1(FILE *fp)
{
int len;
nst_bfa1_t *bfa1;
if (fread(&len, sizeof(int), 1, fp) == 0) return 0;
bfa1 = nst_new_bfa1();
bfa1->name = (char*)malloc(sizeof(char) * len);
fread(bfa1->name, sizeof(char), len, fp);
fread(&bfa1->ori_len, sizeof(int), 1, fp);
fread(&bfa1->len, sizeof(int), 1, fp);
bfa1->seq = (bit64_t*)malloc(sizeof(bit64_t) * bfa1->len);
fread(bfa1->seq, sizeof(bit64_t), bfa1->len, fp);
bfa1->mask = (bit64_t*)malloc(sizeof(bit64_t) * bfa1->len);
fread(bfa1->mask, sizeof(bit64_t), bfa1->len, fp);
return bfa1;
}
bit64_t nst_bfa_len(FILE *fp)
{
bit64_t x = 0;
int len;
while (fread(&len, sizeof(int), 1, fp)) {
fseek(fp, len, 1);
fread(&len, sizeof(int), 1, fp);
x += len;
fread(&len, sizeof(int), 1, fp);
fseek(fp, 16 * len, 1);
}
return x;
}
nst_bfa_t *nst_new_bfa()
{
return (nst_bfa_t*)calloc(1, sizeof(nst_bfa_t));
}
void nst_delete_bfa(nst_bfa_t * bfa)
{
int i;
for (i = 0; i != bfa->n; ++i)
nst_delete_bfa1(bfa->bfa1[i]);
free(bfa->bfa1);
free(bfa);
}
nst_bfa_t *nst_load_bfa(FILE *fp)
{
nst_bfa_t *bfa = nst_new_bfa();
nst_bfa1_t *bfa1;
int n = 0;
while ((bfa1 = nst_load_bfa1(fp)) != 0) {
bfa->bfa1 = (nst_bfa1_t**)realloc(bfa->bfa1, sizeof(nst_bfa1_t*) * (n + 1));
bfa->bfa1[n++] = bfa1;
}
bfa->n = n;
return bfa;
}
maq-0.7.1/bfa.h 0000644 0000766 0000024 00000001020 11065656462 011554 0 ustar lh3 staff #ifndef NST_BFA_H
#define NST_BFA_H
#include
#include "const.h"
typedef struct
{
char *name;
int ori_len, len;
bit64_t *seq, *mask;
} nst_bfa1_t;
typedef struct
{
int n;
nst_bfa1_t **bfa1;
} nst_bfa_t;
#ifdef __cplusplus
extern "C" {
#endif
nst_bfa1_t *nst_new_bfa1();
void nst_delete_bfa1(nst_bfa1_t*);
nst_bfa1_t *nst_load_bfa1(FILE *fp);
nst_bfa_t *nst_new_bfa();
void nst_delete_bfa(nst_bfa_t*);
nst_bfa_t *nst_load_bfa(FILE *fp);
bit64_t nst_bfa_len(FILE *fp);
#ifdef __cplusplus
}
#endif
#endif
maq-0.7.1/break_pair.c 0000644 0000766 0000024 00000002434 11027727762 013130 0 ustar lh3 staff #include
#include
#include
#include
#include "main.h"
#include "maqmap.h"
static void breakpair(const char *prefix)
{
gzFile fp, fp0, fp1, fp2;
char str[1024];
maqmap_t *mm;
maqmap1_t m1;
strcpy(str, prefix); strcat(str, ".map");
assert(fp = gzopen(str, "r"));
strcpy(str, prefix); strcat(str, ".0.map");
fp0 = gzopen(str, "w");
strcpy(str, prefix); strcat(str, ".1.map");
fp1 = gzopen(str, "w");
strcpy(str, prefix); strcat(str, ".2.map");
fp2 = gzopen(str, "w");
mm = maqmap_read_header(fp);
mm->n_mapped_reads = 0;
maqmap_write_header(fp0, mm);
maqmap_write_header(fp1, mm);
maqmap_write_header(fp2, mm);
while (gzread(fp, &m1, sizeof(maqmap1_t)) == sizeof(maqmap1_t)) {
int l;
if (m1.map_qual <= 40) continue;
l = strlen(m1.name);
if (l >= 2 && m1.name[l-2] == '/' && m1.name[l-1] == '1')
gzwrite(fp1, &m1, sizeof(maqmap1_t));
else if (l >= 2 && m1.name[l-2] == '/' && m1.name[l-1] == '2')
gzwrite(fp2, &m1, sizeof(maqmap1_t));
else gzwrite(fp0, &m1, sizeof(maqmap1_t));
}
maq_delete_maqmap(mm);
gzclose(fp);
gzclose(fp0); gzclose(fp1); gzclose(fp2);
}
int maq_breakpair(int argc, char *argv[])
{
if (argc < 2) {
fprintf(stderr, "Usage: maq breakpair \n");
return 1;
}
breakpair(argv[1]);
return 0;
}
maq-0.7.1/cleanup.sh 0000755 0000766 0000024 00000000305 10766735650 012652 0 ustar lh3 staff if [ -f "Makefile" ]; then
make distclean
fi
rm -fr *~ .in .gdb_history Makefile.in aclocal.m4 configure autom4*.cache config.guess config.h.in config.sub depcomp install-sh missing mkinstalldirs
maq-0.7.1/config.guess 0000755 0000766 0000024 00000126260 10756564016 013210 0 ustar lh3 staff #! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
# Inc.
timestamp='2006-07-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Per Bothner .
# Please send patches to . Submit a context
# diff and a properly formatted ChangeLog entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit build system type.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help" >&2
exit 1 ;;
* )
break ;;
esac
done
if test $# != 0; then
echo "$me: too many arguments$help" >&2
exit 1
fi
trap 'exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep __ELF__ >/dev/null
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
os=netbsd
else
os=netbsdelf
fi
;;
*)
os=netbsd
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case "${UNAME_VERSION}" in
Debian*)
release='-gnu'
;;
*)
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:SolidBSD:*:*)
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
exit ;;
macppc:MirBSD:*:*)
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
UNAME_MACHINE="alpha" ;;
"EV4.5 (21064)")
UNAME_MACHINE="alpha" ;;
"LCA4 (21066/21068)")
UNAME_MACHINE="alpha" ;;
"EV5 (21164)")
UNAME_MACHINE="alphaev5" ;;
"EV5.6 (21164A)")
UNAME_MACHINE="alphaev56" ;;
"EV5.6 (21164PC)")
UNAME_MACHINE="alphapca56" ;;
"EV5.7 (21164PC)")
UNAME_MACHINE="alphapca57" ;;
"EV6 (21264)")
UNAME_MACHINE="alphaev6" ;;
"EV6.7 (21264A)")
UNAME_MACHINE="alphaev67" ;;
"EV6.8CB (21264C)")
UNAME_MACHINE="alphaev68" ;;
"EV6.8AL (21264B)")
UNAME_MACHINE="alphaev68" ;;
"EV6.8CX (21264D)")
UNAME_MACHINE="alphaev68" ;;
"EV6.9A (21264/EV69A)")
UNAME_MACHINE="alphaev69" ;;
"EV7 (21364)")
UNAME_MACHINE="alphaev7" ;;
"EV7.9 (21364A)")
UNAME_MACHINE="alphaev79" ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
exit ;;
*:z/VM:*:*)
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
arm:riscos:*:*|arm:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
exit ;;
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
#include /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c &&
dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
SYSTEM_NAME=`$dummy $dummyarg` &&
{ echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
exit ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
[ ${TARGET_BINARY_INTERFACE}x = x ]
then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
exit ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
then
echo "$SYSTEM_NAME"
else
echo rs6000-ibm-aix3.2.5
fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit ;;
*:AIX:*:[45])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
32) HP_ARCH="hppa2.0n" ;;
64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
esac ;;
esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE
#include
#include
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
eval $set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
# generating 64-bit code. GNU and HP use different nomenclature:
#
# $ CC_FOR_BUILD=cc ./config.guess
# => hppa2.0w-hp-hpux11.23
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
grep __LP64__ >/dev/null
then
HP_ARCH="hppa2.0w"
else
HP_ARCH="hppa64"
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
exit ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
*:UNICOS/mp:*:*)
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
case ${UNAME_MACHINE} in
pc98)
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
# uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
x86:Interix*:[3456]*)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
EM64T:Interix*:[3456]*)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
*:GNU:*:*)
# the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
cris:Linux:*:*)
echo cris-axis-linux-gnu
exit ;;
crisv32:Linux:*:*)
echo crisv32-axis-linux-gnu
exit ;;
frv:Linux:*:*)
echo frv-unknown-linux-gnu
exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
mips:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef mips
#undef mipsel
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mipsel
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips
#else
CPU=
#endif
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^CPU/{
s: ::g
p
}'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef mips64
#undef mips64el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=mips64el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=mips64
#else
CPU=
#endif
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^CPU/{
s: ::g
p
}'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
echo or32-unknown-linux-gnu
exit ;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
exit ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-gnu
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
PCA57) UNAME_MACHINE=alphapca56 ;;
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-gnu ;;
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-gnu
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
exit ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
# Set LC_ALL=C to ensure ld outputs messages in English.
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
| sed -ne '/supported targets:/!d
s/[ ][ ]*/ /g
s/.*supported targets: *//
s/ .*//
p'`
case "$ld_supported_targets" in
elf32-i386)
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
;;
a.out-i386-linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
exit ;;
coff-i386)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
exit ;;
"")
# Either a pre-BFD a.out linker (linux-gnuoldld) or
# one that does not give us useful --help.
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
exit ;;
esac
# Determine whether the default compiler is a.out or elf
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
LIBC=gnu
# else
LIBC=gnulibc1
# endif
# else
LIBC=gnulibc1
# endif
#else
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
LIBC=gnu
#else
LIBC=gnuaout
#endif
#endif
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^LIBC/{
s: ::g
p
}'`"
test x"${LIBC}" != x && {
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit
}
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
exit ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit ;;
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
exit ;;
i*86:*:5:[678]*)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
paragon:*:*:*)
echo i860-intel-osf1
exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
exit ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
exit ;;
M68*:*:R3V[5678]*:*)
test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says
echo i586-unisys-sysv4
exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes .
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
echo ${UNAME_MACHINE}-stratus-vos
exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
exit ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
NSE-?:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
exit ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
if test "$cputype" = "386"; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
exit ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
exit ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
exit ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
exit ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
exit ;;
*:ITS:*:*)
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
V*) echo vax-dec-vms ; exit ;;
esac ;;
*:XENIX:*:SysV)
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
eval $set_cc_for_build
cat >$dummy.c <
# include
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix\n"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
if (version < 4)
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
else
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
# if !defined (ultrix)
# include
# if defined (BSD)
# if BSD == 43
printf ("vax-dec-bsd4.3\n"); exit (0);
# else
# if BSD == 199006
printf ("vax-dec-bsd4.3reno\n"); exit (0);
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# endif
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# else
printf ("vax-dec-ultrix\n"); exit (0);
# endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
{ echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit ;;
c34*)
echo c34-convex-bsd
exit ;;
c38*)
echo c38-convex-bsd
exit ;;
c4*)
echo c4-convex-bsd
exit ;;
esac
fi
cat >&2 < in order to provide the needed
information to handle your system.
config.guess timestamp = $timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
hostinfo = `(hostinfo) 2>/dev/null`
/bin/universe = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF
exit 1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
maq-0.7.1/config.h.in 0000644 0000766 0000024 00000002531 10766735725 012715 0 ustar lh3 staff /* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
maq-0.7.1/config.sub 0000755 0000766 0000024 00000077460 10756564017 012663 0 ustar lh3 staff #! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
# Inc.
timestamp='2006-09-20'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Please send patches to . Submit a context
# diff and a properly formatted ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS
$0 [OPTION] ALIAS
Canonicalize a configuration name.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help"
exit 1 ;;
*local*)
# First pass through any local machine types.
echo $1
exit ;;
* )
break ;;
esac
done
case $# in
0) echo "$me: missing argument$help" >&2
exit 1;;
1) ;;
*) echo "$me: too many arguments$help" >&2
exit 1;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple | -axis | -knuth | -cray)
os=
basic_machine=$1
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=-vxworks
basic_machine=$1
;;
-chorusos*)
os=-chorusos
basic_machine=$1
;;
-chorusrdb)
os=-chorusrdb
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco6)
os=-sco5v6
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*)
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
-mint | -mint[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64vr | mips64vrel \
| mips64orion | mips64orionel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| mt \
| msp430 \
| nios | nios2 \
| ns16k | ns32k \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| score \
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
ms1)
basic_machine=mt-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64vr-* | mips64vrel-* \
| mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-unknown
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
abacus)
basic_machine=abacus-unknown
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-unknown
;;
amigaos | amigados)
basic_machine=m68k-unknown
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-unknown
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
c90)
basic_machine=c90-cray
os=-unicos
;;
convex-c1)
basic_machine=c1-convex
os=-bsd
;;
convex-c2)
basic_machine=c2-convex
os=-bsd
;;
convex-c32)
basic_machine=c32-convex
os=-bsd
;;
convex-c34)
basic_machine=c34-convex
os=-bsd
;;
convex-c38)
basic_machine=c38-convex
os=-bsd
;;
cray | j90)
basic_machine=j90-cray
os=-unicos
;;
craynv)
basic_machine=craynv-cray
os=-unicosmp
;;
cr16c)
basic_machine=cr16c-unknown
os=-elf
;;
crds | unos)
basic_machine=m68k-crds
;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
crx)
basic_machine=crx-unknown
os=-elf
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
decsystem10* | dec10*)
basic_machine=pdp10-dec
os=-tops10
;;
decsystem20* | dec20*)
basic_machine=pdp10-dec
os=-tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
basic_machine=m68k-bull
os=-sysv3
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
elxsi)
basic_machine=elxsi-elxsi
os=-bsd
;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;;
fx2800)
basic_machine=i860-alliant
;;
genix)
basic_machine=ns32k-ns
;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
go32)
basic_machine=i386-pc
os=-go32
;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
basic_machine=hppa1.1-hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i*86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i*86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i*86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
i386-vsta | vsta)
basic_machine=i386-unknown
os=-vsta
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
-irix*)
;;
*)
os=-irix4
;;
esac
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
mingw32)
basic_machine=i386-pc
os=-mingw32
;;
miniframe)
basic_machine=m68000-convergent
;;
*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
;;
morphos)
basic_machine=powerpc-unknown
os=-morphos
;;
msdos)
basic_machine=i386-pc
os=-msdos
;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder)
basic_machine=armv4l-rebel
os=-linux
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
news-3600 | risc-news)
basic_machine=mips-sony
os=-newsos
;;
necv70)
basic_machine=v70-nec
os=-sysv
;;
next | m*-next )
basic_machine=m68k-next
case $os in
-nextstep* )
;;
-ns2*)
os=-nextstep2
;;
*)
os=-nextstep3
;;
esac
;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
nonstopux)
basic_machine=mips-compaq
os=-nonstopux
;;
np1)
basic_machine=np1-gould
;;
nsr-tandem)
basic_machine=nsr-tandem
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
;;
openrisc | openrisc-*)
basic_machine=or32-unknown
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
;;
os68k)
basic_machine=m68k-none
os=-os68k
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
paragon)
basic_machine=i860-intel
os=-osf
;;
pbd)
basic_machine=sparc-tti
;;
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
pentiumpro | p6 | 6x86 | athlon | athlon_*)
basic_machine=i686-pc
;;
pentiumii | pentium2 | pentiumiii | pentium3)
basic_machine=i686-pc
;;
pentium4)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium4-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
power) basic_machine=power-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
pw32)
basic_machine=i586-unknown
os=-pw32
;;
rdos)
basic_machine=i386-pc
os=-rdos
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
sb1)
basic_machine=mipsisa64sb1-unknown
;;
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sde)
basic_machine=mipsisa32-sde
os=-elf
;;
sei)
basic_machine=mips-sei
os=-seiux
;;
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sh64)
basic_machine=sh64-unknown
;;
sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
;;
spur)
basic_machine=spur-unknown
;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;;
sun2)
basic_machine=m68000-sun
;;
sun2os3)
basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
basic_machine=m68000-sun
os=-sunos4
;;
sun3os3)
basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
basic_machine=m68k-sun
os=-sunos4
;;
sun4os3)
basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
basic_machine=sparc-sun
os=-sunos4
;;
sun4sol2)
basic_machine=sparc-sun
os=-solaris2
;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
sv1)
basic_machine=sv1-cray
os=-unicos
;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
t3e)
basic_machine=alphaev5-cray
os=-unicos
;;
t90)
basic_machine=t90-cray
os=-unicos
;;
tic54x | c54x*)
basic_machine=tic54x-unknown
os=-coff
;;
tic55x | c55x*)
basic_machine=tic55x-unknown
os=-coff
;;
tic6x | c6x*)
basic_machine=tic6x-unknown
os=-coff
;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
toad1)
basic_machine=pdp10-xkl
os=-tops20
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
w65*)
basic_machine=w65-wdc
os=-none
;;
w89k-*)
basic_machine=hppa1.1-winbond
os=-proelf
;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
ymp)
basic_machine=ymp-cray
os=-unicos
;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
none)
basic_machine=none-none
os=-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k)
basic_machine=hppa1.1-winbond
;;
op50n)
basic_machine=hppa1.1-oki
;;
op60c)
basic_machine=hppa1.1-oki
;;
romp)
basic_machine=romp-ibm
;;
mmix)
basic_machine=mmix-knuth
;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
pdp10)
# there are many clones, so DEC is not a safe bet
basic_machine=pdp10-unknown
;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
mac | mpw | mac-mpw)
basic_machine=m68k-apple
;;
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
*-unknown)
# Make sure to match an already-canonicalized machine name.
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
-solaris)
os=-solaris2
;;
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
case $basic_machine in
x86-* | i*86-*)
;;
*)
os=-nto$os
;;
esac
;;
-nto-qnx*)
;;
-nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
-opened*)
os=-openedition
;;
-os400*)
os=-os400
;;
-wince*)
os=-wince
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-acis*)
os=-aos
;;
-atheos*)
os=-atheos
;;
-syllable*)
os=-syllable
;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*)
os=-sysv
;;
-nova*)
os=-rtmk-nova
;;
-ns2 )
os=-nextstep2
;;
-nsk*)
os=-nsk
;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
-sinix*)
os=-sysv4
;;
-tpf*)
os=-tpf
;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
-sysvr4)
os=-sysv4
;;
# This must come after -sysvr4.
-sysv*)
;;
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix)
os=-xenix
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
-aros*)
os=-aros
;;
-kaos*)
os=-kaos
;;
-zvmoe)
os=-zvmoe
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case $basic_machine in
score-*)
os=-elf
;;
spu-*)
os=-elf
;;
*-acorn)
os=-riscix1.2
;;
arm*-rebel)
os=-linux
;;
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
;;
pdp11-*)
os=-none
;;
*-dec | vax-*)
os=-ultrix4.2
;;
m68*-apollo)
os=-domain
;;
i386-sun)
os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
# This also exists in the configure program, but was not the
# default.
# os=-sunos4
;;
m68*-cisco)
os=-aout
;;
mips*-cisco)
os=-elf
;;
mips*-*)
os=-elf
;;
or32-*)
os=-coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
*-be)
os=-beos
;;
*-haiku)
os=-haiku
;;
*-ibm)
os=-aix
;;
*-knuth)
os=-mmixware
;;
*-wec)
os=-proelf
;;
*-winbond)
os=-proelf
;;
*-oki)
os=-proelf
;;
*-hp)
os=-hpux
;;
*-hitachi)
os=-hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
os=-amigaos
;;
*-dg)
os=-dgux
;;
*-dolphin)
os=-sysv3
;;
m68k-ccur)
os=-rtu
;;
m88k-omron*)
os=-luna
;;
*-next )
os=-nextstep
;;
*-sequent)
os=-ptx
;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
os=-irix
;;
*-siemens)
os=-sysv4
;;
*-masscomp)
os=-rtu
;;
f30[01]-fujitsu | f700-fujitsu)
os=-uxpv
;;
*-rom68k)
os=-coff
;;
*-*bug)
os=-coff
;;
*-apple)
os=-macos
;;
*-atari*)
os=-mint
;;
*)
os=-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
*-unknown)
case $os in
-riscix*)
vendor=acorn
;;
-sunos*)
vendor=sun
;;
-aix*)
vendor=ibm
;;
-beos*)
vendor=be
;;
-hpux*)
vendor=hp
;;
-mpeix*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
-unos*)
vendor=crds
;;
-dgux*)
vendor=dg
;;
-luna*)
vendor=omron
;;
-genix*)
vendor=ns
;;
-mvs* | -opened*)
vendor=ibm
;;
-os400*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
-hms*)
vendor=hitachi
;;
-mpw* | -macos*)
vendor=apple
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari
;;
-vos*)
vendor=stratus
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
maq-0.7.1/configure 0000755 0000766 0000024 00000506002 11067172614 012566 0 ustar lh3 staff #! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.62 for MAQ 0.7.1.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in
*posix*) set -o posix ;;
esac
fi
# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
as_unset=unset
else
as_unset=false
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
case $0 in
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
# Work around bugs in pre-3.0 UWIN ksh.
for as_var in ENV MAIL MAILPATH
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# CDPATH.
$as_unset CDPATH
if test "x$CONFIG_SHELL" = x; then
if (eval ":") 2>/dev/null; then
as_have_required=yes
else
as_have_required=no
fi
if test $as_have_required = yes && (eval ":
(as_func_return () {
(exit \$1)
}
as_func_success () {
as_func_return 0
}
as_func_failure () {
as_func_return 1
}
as_func_ret_success () {
return 0
}
as_func_ret_failure () {
return 1
}
exitcode=0
if as_func_success; then
:
else
exitcode=1
echo as_func_success failed.
fi
if as_func_failure; then
exitcode=1
echo as_func_failure succeeded.
fi
if as_func_ret_success; then
:
else
exitcode=1
echo as_func_ret_success failed.
fi
if as_func_ret_failure; then
exitcode=1
echo as_func_ret_failure succeeded.
fi
if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
:
else
exitcode=1
echo positional parameters were not saved.
fi
test \$exitcode = 0) || { (exit 1); exit 1; }
(
as_lineno_1=\$LINENO
as_lineno_2=\$LINENO
test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
") 2> /dev/null; then
:
else
as_candidate_shells=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
case $as_dir in
/*)
for as_base in sh bash ksh sh5; do
as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
done;;
esac
done
IFS=$as_save_IFS
for as_shell in $as_candidate_shells $SHELL; do
# Try only shells that exist, to save several forks.
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
{ ("$as_shell") 2> /dev/null <<\_ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in
*posix*) set -o posix ;;
esac
fi
:
_ASEOF
}; then
CONFIG_SHELL=$as_shell
as_have_required=yes
if { "$as_shell" 2> /dev/null <<\_ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in
*posix*) set -o posix ;;
esac
fi
:
(as_func_return () {
(exit $1)
}
as_func_success () {
as_func_return 0
}
as_func_failure () {
as_func_return 1
}
as_func_ret_success () {
return 0
}
as_func_ret_failure () {
return 1
}
exitcode=0
if as_func_success; then
:
else
exitcode=1
echo as_func_success failed.
fi
if as_func_failure; then
exitcode=1
echo as_func_failure succeeded.
fi
if as_func_ret_success; then
:
else
exitcode=1
echo as_func_ret_success failed.
fi
if as_func_ret_failure; then
exitcode=1
echo as_func_ret_failure succeeded.
fi
if ( set x; as_func_ret_success y && test x = "$1" ); then
:
else
exitcode=1
echo positional parameters were not saved.
fi
test $exitcode = 0) || { (exit 1); exit 1; }
(
as_lineno_1=$LINENO
as_lineno_2=$LINENO
test "x$as_lineno_1" != "x$as_lineno_2" &&
test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
_ASEOF
}; then
break
fi
fi
done
if test "x$CONFIG_SHELL" != x; then
for as_var in BASH_ENV ENV
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
export CONFIG_SHELL
exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
if test $as_have_required = no; then
echo This script requires a shell more modern than all the
echo shells that I found on your system. Please install a
echo modern shell, or manually run the script under such a
echo shell if you do have one.
{ (exit 1); exit 1; }
fi
fi
fi
(eval "as_func_return () {
(exit \$1)
}
as_func_success () {
as_func_return 0
}
as_func_failure () {
as_func_return 1
}
as_func_ret_success () {
return 0
}
as_func_ret_failure () {
return 1
}
exitcode=0
if as_func_success; then
:
else
exitcode=1
echo as_func_success failed.
fi
if as_func_failure; then
exitcode=1
echo as_func_failure succeeded.
fi
if as_func_ret_success; then
:
else
exitcode=1
echo as_func_ret_success failed.
fi
if as_func_ret_failure; then
exitcode=1
echo as_func_ret_failure succeeded.
fi
if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
:
else
exitcode=1
echo positional parameters were not saved.
fi
test \$exitcode = 0") || {
echo No shell found that supports shell functions.
echo Please tell bug-autoconf@gnu.org about your system,
echo including any error possibly output before this message.
echo This can help us improve future autoconf versions.
echo Configuration will now proceed without shell functions.
}
as_lineno_1=$LINENO
as_lineno_2=$LINENO
test "x$as_lineno_1" != "x$as_lineno_2" &&
test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
# line-number line after each line using $LINENO; the second 'sed'
# does the real work. The second script uses 'N' to pair each
# line-number line with the line containing $LINENO, and appends
# trailing '-' during substitution so that $LINENO is not a special
# case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
# scripts with optimization help from Paolo Bonzini. Blame Lee
# E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
' <$as_myself |
sed '
s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
. "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in
-n*)
case `echo 'x\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
*) ECHO_C='\c';;
esac;;
*)
ECHO_N='-n';;
esac
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -p'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
else
as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
if test -x / >/dev/null 2>&1; then
as_test_x='test -x'
else
if ls -dL / >/dev/null 2>&1; then
as_ls_L_option=L
else
as_ls_L_option=
fi
as_test_x='
eval sh -c '\''
if test -d "$1"; then
test -d "$1/.";
else
case $1 in
-*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
fi
as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 7<&0 &1
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='MAQ'
PACKAGE_TARNAME='maq'
PACKAGE_VERSION='0.7.1'
PACKAGE_STRING='MAQ 0.7.1'
PACKAGE_BUGREPORT=''
# Factoring default headers for most tests.
ac_includes_default="\
#include
#ifdef HAVE_SYS_TYPES_H
# include
#endif
#ifdef HAVE_SYS_STAT_H
# include
#endif
#ifdef STDC_HEADERS
# include
# include
#else
# ifdef HAVE_STDLIB_H
# include
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# include
# endif
# include
#endif
#ifdef HAVE_STRINGS_H
# include
#endif
#ifdef HAVE_INTTYPES_H
# include
#endif
#ifdef HAVE_STDINT_H
# include
#endif
#ifdef HAVE_UNISTD_H
# include
#endif"
ac_subst_vars='SHELL
PATH_SEPARATOR
PACKAGE_NAME
PACKAGE_TARNAME
PACKAGE_VERSION
PACKAGE_STRING
PACKAGE_BUGREPORT
exec_prefix
prefix
program_transform_name
bindir
sbindir
libexecdir
datarootdir
datadir
sysconfdir
sharedstatedir
localstatedir
includedir
oldincludedir
docdir
infodir
htmldir
dvidir
pdfdir
psdir
libdir
localedir
mandir
DEFS
ECHO_C
ECHO_N
ECHO_T
LIBS
build_alias
host_alias
target_alias
INSTALL_PROGRAM
INSTALL_SCRIPT
INSTALL_DATA
am__isrc
CYGPATH_W
PACKAGE
VERSION
ACLOCAL
AUTOCONF
AUTOMAKE
AUTOHEADER
MAKEINFO
install_sh
STRIP
INSTALL_STRIP_PROGRAM
MKDIR_P
mkdir_p
AWK
SET_MAKE
am__leading_dot
AMTAR
am__tar
am__untar
build
build_cpu
build_vendor
build_os
host
host_cpu
host_vendor
host_os
CC
CFLAGS
LDFLAGS
CPPFLAGS
ac_ct_CC
EXEEXT
OBJEXT
CXX
CXXFLAGS
ac_ct_CXX
CPP
GREP
EGREP
LIBOBJS
LTLIBOBJS'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_universal
enable_experimental
enable_slowmap
enable_shortread
enable_intel64
'
ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS
CXX
CXXFLAGS
CCC
CPP'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE
# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'
ac_prev=
ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval $ac_prev=\$ac_option
ac_prev=
continue
fi
case $ac_option in
*=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
*) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case $ac_dashdash$ac_option in
--)
ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir=$ac_optarg ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build_alias ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build_alias=$ac_optarg ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file=$ac_optarg ;;
--config-cache | -C)
cache_file=config.cache ;;
-datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
-datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
| --dataroo | --dataro | --datar)
ac_prev=datarootdir ;;
-datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
| --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
{ $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
docdir=$ac_optarg ;;
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
ac_prev=dvidir ;;
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
{ $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix=$ac_optarg ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he | -h)
ac_init_help=long ;;
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
ac_init_help=recursive ;;
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
ac_init_help=short ;;
-host | --host | --hos | --ho)
ac_prev=host_alias ;;
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
-htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
ac_prev=htmldir ;;
-htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
| --ht=*)
htmldir=$ac_optarg ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir=$ac_optarg ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir=$ac_optarg ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir=$ac_optarg ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir=$ac_optarg ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c | -n)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir=$ac_optarg ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=$ac_optarg ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix=$ac_optarg ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix=$ac_optarg ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
ac_prev=pdfdir ;;
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
pdfdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
-psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
psdir=$ac_optarg ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir=$ac_optarg ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir=$ac_optarg ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site=$ac_optarg ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir=$ac_optarg ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir=$ac_optarg ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target_alias ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target_alias=$ac_optarg ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers | -V)
ac_init_version=: ;;
-with-* | --with-*)
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
{ $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
{ $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes=$ac_optarg ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
-*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
{ $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
esac
done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
{ $as_echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2
{ (exit 1); exit 1; }; } ;;
*) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
case $ac_val in
*/ )
ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
eval $ac_var=\$ac_val;;
esac
# Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
{ $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
{ (exit 1); exit 1; }; }
done
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias
# FIXME: To remove some day.
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
$as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
fi
ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
{ $as_echo "$as_me: error: Working directory cannot be determined" >&2
{ (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
{ $as_echo "$as_me: error: pwd does not report name of working directory" >&2
{ (exit 1); exit 1; }; }
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
srcdir=$ac_confdir
if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
{ $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
eval ac_env_${ac_var}_set=\${${ac_var}+set}
eval ac_env_${ac_var}_value=\$${ac_var}
eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
eval ac_cv_env_${ac_var}_value=\$${ac_var}
done
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures MAQ 0.7.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print \`checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/maq]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of MAQ 0.7.1:";;
esac
cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-universal enable universal binary (Intel Apple only)
--enable-experimental enable experimental features
--enable-slowmap use slowmap mode for better sensitivity
--enable-shortreads use shortread mode
--enable-intel64 optimize for Intel64 CPU such as Xeon and Core2
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
_ACEOF
ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
test -d "$ac_dir" ||
{ cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
cd "$ac_dir" || { ac_status=$?; continue; }
# Check for guested configure.
if test -f "$ac_srcdir/configure.gnu"; then
echo &&
$SHELL "$ac_srcdir/configure.gnu" --help=recursive
elif test -f "$ac_srcdir/configure"; then
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
MAQ configure 0.7.1
generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit
fi
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by MAQ $as_me 0.7.1, which was
generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@
_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
_ASUNAME
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
$as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
} >&5
cat >&5 <<_ACEOF
## ----------- ##
## Core tests. ##
## ----------- ##
_ACEOF
# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
for ac_arg
do
case $ac_arg in
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
2)
ac_configure_args1="$ac_configure_args1 '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
case "$ac_configure_args0 " in
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
esac
;;
-* ) ac_must_keep_next=true ;;
esac
fi
ac_configure_args="$ac_configure_args '$ac_arg'"
;;
esac
done
done
$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
echo
cat <<\_ASBOX
## ---------------- ##
## Cache variables. ##
## ---------------- ##
_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
(
for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
sed -n \
"s/'\''/'\''\\\\'\'''\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
;; #(
*)
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
)
echo
cat <<\_ASBOX
## ----------------- ##
## Output variables. ##
## ----------------- ##
_ASBOX
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
$as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
cat <<\_ASBOX
## ------------------- ##
## File substitutions. ##
## ------------------- ##
_ASBOX
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
$as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
cat <<\_ASBOX
## ----------- ##
## confdefs.h. ##
## ----------- ##
_ASBOX
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
$as_echo "$as_me: caught signal $ac_signal"
$as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
# Predefined preprocessor variables.
cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
ac_site_file1=$CONFIG_SITE
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
else
ac_site_file1=$ac_default_prefix/share/config.site
ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
{ $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
done
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
{ $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
{ $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val=\$ac_cv_env_${ac_var}_value
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
# differences in whitespace do not lead to failure.
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
{ $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
{ $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
{ $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
{ $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
*) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
{ { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers config.h"
am__api_version='1.10'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
{ { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
{ (exit 1); exit 1; }; }
fi
# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
# Account for people who put trailing slashes in PATH elements.
case $as_dir/ in
./ | .// | /cC/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
# Don't use installbsd from OSF since it installs stuff as root
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
:
elif test $ac_prog = install &&
grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# program-specific install script used by HP pwplus--don't use.
:
else
rm -rf conftest.one conftest.two conftest.dir
echo one > conftest.one
echo two > conftest.two
mkdir conftest.dir
if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
test -s conftest.one && test -s conftest.two &&
test -s conftest.dir/conftest.one &&
test -s conftest.dir/conftest.two
then
ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
break 3
fi
fi
fi
done
done
;;
esac
done
IFS=$as_save_IFS
rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_cv_path_install
else
# As a last resort, use the slow shell script. Don't cache a
# value for INSTALL within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
INSTALL=$ac_install_sh
fi
fi
{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
if test "$*" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftest.file`
fi
rm -f conftest.file
if test "$*" != "X $srcdir/configure conftest.file" \
&& test "$*" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
{ { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&5
$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&2;}
{ (exit 1); exit 1; }; }
fi
test "$2" = conftest.file
)
then
# Ok.
:
else
{ { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
Check your system clock" >&5
$as_echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
# By default was `s,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
{ $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
if test "${ac_cv_path_mkdir+set}" = set; then
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in mkdir gmkdir; do
for ac_exec_ext in '' $ac_executable_extensions; do
{ test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir (GNU coreutils) '* | \
'mkdir (coreutils) '* | \
'mkdir (fileutils) '4.1*)
ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
break 3;;
esac
done
done
done
IFS=$as_save_IFS
fi
if test "${ac_cv_path_mkdir+set}" = set; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
# As a last resort, use the slow shell script. Don't cache a
# value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
test -d ./--version && rmdir ./--version
MKDIR_P="$ac_install_sh -d"
fi
fi
{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }
mkdir_p="$MKDIR_P"
case $mkdir_p in
[\\/$]* | ?:[\\/]*) ;;
*/*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
esac
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
{ $as_echo "$as_me:$LINENO: result: $AWK" >&5
$as_echo "$AWK" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$AWK" && break
done
{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
SET_MAKE=
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
{ { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
# Define the identity of the package.
PACKAGE='maq'
VERSION='0.7.1'
cat >>confdefs.h <<_ACEOF
#define PACKAGE "$PACKAGE"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define VERSION "$VERSION"
_ACEOF
# Some tools Automake needs.
ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
{ $as_echo "$as_me:$LINENO: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
{ $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org." >&5
$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org." >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
else
STRIP="$ac_cv_prog_STRIP"
fi
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility.
AMTAR=${AMTAR-"${am_missing_run}tar"}
am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
{ { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
{ $as_echo "$as_me:$LINENO: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
if test "${ac_cv_build+set}" = set; then
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
{ { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
{ { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
$as_echo "$as_me: error: invalid value of canonical build" >&2;}
{ (exit 1); exit 1; }; };;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_build
shift
build_cpu=$1
build_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os=$*
IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:$LINENO: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
if test "${ac_cv_host+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
{ { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
$as_echo "$as_me: error: invalid value of canonical host" >&2;}
{ (exit 1); exit 1; }; };;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_host
shift
host_cpu=$1
host_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os=$*
IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org." >&5
$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org." >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# != 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ $as_echo "$as_me:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$ac_ct_CC" && break
done
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org." >&5
$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org." >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
# Provide some information about the compiler.
$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
$as_echo_n "checking for C compiler default output file name... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
rm -f $ac_rmfiles
if { (ac_try="$ac_link_default"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
# in a Makefile. We should not override ac_cv_exeext if it was cached,
# so that the user can short-circuit this test for compilers unknown to
# Autoconf.
for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
then :; else
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
# We set ac_cv_exeext here because the later test for it is not
# safe: cross compilers may not add the suffix if given an `-o'
# argument, so we may need to know it at that point already.
# Even if this section looks crufty: it has the advantage of
# actually working.
break;;
* )
break;;
esac
done
test "$ac_cv_exeext" = no && ac_cv_exeext=
else
ac_file=''
fi
{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
{ (exit 77); exit 77; }; }
fi
ac_exeext=$ac_cv_exeext
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
$as_echo_n "checking whether the C compiler works... " >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
{ (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
fi
fi
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; }
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
# `rm'.
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else
{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
rm -f conftest$ac_cv_exeext
{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
$as_echo "$ac_cv_c_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CFLAGS=""
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
if test "${ac_cv_prog_cc_c89+set}" = set; then
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
#include
#include
#include
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
static char *e (p, i)
char **p;
int i;
{
return p[i];
}
static char *f (char * (*g) (char **, int), char **p, ...)
{
char *s;
va_list v;
va_start (v,p);
s = g (p, va_arg (v,int));
va_end (v);
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not '\xHH' hex character constants.
These don't provoke an error unfortunately, instead are silently treated
as 'x'. The following induces an error, until -std is added to get
proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
array size at least. It's necessary to write '\x00'==0 to get something
that's true only with -std. */
int osf4_cc_array ['\x00' == 0 ? 1 : -1];
/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
inside strings and character constants. */
#define FOO(x) 'x'
int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
int argc;
char **argv;
int
main ()
{
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
;
return 0;
}
_ACEOF
for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_c89=$ac_arg
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f core conftest.err conftest.$ac_objext
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
x)
{ $as_echo "$as_me:$LINENO: result: none needed" >&5
$as_echo "none needed" >&6; } ;;
xno)
{ $as_echo "$as_me:$LINENO: result: unsupported" >&5
$as_echo "unsupported" >&6; } ;;
*)
CC="$CC $ac_cv_prog_cc_c89"
{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test -z "$CXX"; then
if test -n "$CCC"; then
CXX=$CCC
else
if test -n "$ac_tool_prefix"; then
for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
{ $as_echo "$as_me:$LINENO: result: $CXX" >&5
$as_echo "$CXX" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$CXX" && break
done
fi
if test -z "$CXX"; then
ac_ct_CXX=$CXX
for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
{ $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
$as_echo "$ac_ct_CXX" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$ac_ct_CXX" && break
done
if test "x$ac_ct_CXX" = x; then
CXX="g++"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org." >&5
$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org." >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
fi
fi
fi
fi
# Provide some information about the compiler.
$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
set X $ac_compile
ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
GXX=yes
else
GXX=
fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
$as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
ac_cv_prog_cxx_g=no
CXXFLAGS="-g"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CXXFLAGS=""
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
CXXFLAGS="-g"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
if test "$GXX" = yes; then
CXXFLAGS="-g -O2"
else
CXXFLAGS="-g"
fi
else
if test "$GXX" = yes; then
CXXFLAGS="-O2"
else
CXXFLAGS=
fi
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
# set CFLAGS and CXXFLAGS
user_CFLAGS=${CFLAGS}
generic_CFLAGS="-Wall"
ext_CFLAGS=""
case "${host_cpu}-${host_os}" in
i386-darwin*)
# Check whether --enable-universal was given.
if test "${enable_universal+set}" = set; then
enableval=$enable_universal; is_uni=1
else
is_uni=0
fi
case $is_uni in
1) CFLAGS="-m64"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ext_CFLAGS="-arch x86_64 -arch i386 -arch ppc64 -arch ppc"
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ext_CFLAGS="-arch i386 -arch ppc"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext;;
0) CFLAGS="-m64"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ext_CFLAGS="-m64"
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext;;
esac;;
*)
{ $as_echo "$as_me:$LINENO: checking if gcc accepts -m64" >&5
$as_echo_n "checking if gcc accepts -m64... " >&6; }
CFLAGS="-m64"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ext_CFLAGS="-m64"; { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ext_CFLAGS="-D_FILE_OFFSET_BITS=64"; { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext;;
esac
# Check whether --enable-experimental was given.
if test "${enable_experimental+set}" = set; then
enableval=$enable_experimental; ext_CFLAGS="${ext_CFLAGS} -DMAQ_SHOW_EXPERIMENTAL"
fi
# Check whether --enable-slowmap was given.
if test "${enable_slowmap+set}" = set; then
enableval=$enable_slowmap;
else
ext_CFLAGS="${ext_CFLAGS} -D_FASTMAP"
fi
# Check whether --enable-shortread was given.
if test "${enable_shortread+set}" = set; then
enableval=$enable_shortread;
else
ext_CFLAGS="${ext_CFLAGS} -DMAQ_LONGREADS"
fi
# Check whether --enable-intel64 was given.
if test "${enable_intel64+set}" = set; then
enableval=$enable_intel64; ext_CFLAGS="${ext_CFLAGS} -mtune=nocona"
fi
CFLAGS="${generic_CFLAGS} ${ext_CFLAGS} ${user_CFLAGS}"
CXXFLAGS=$CFLAGS
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if test "${ac_cv_prog_CPP+set}" = set; then
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
do
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer to if __STDC__ is defined, since
# exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#ifdef __STDC__
# include
#else
# include
#endif
Syntax error
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
# Broken: success on invalid input.
continue
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
break
fi
done
ac_cv_prog_CPP=$CPP
fi
CPP=$ac_cv_prog_CPP
else
ac_cv_prog_CPP=$CPP
fi
{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer to if __STDC__ is defined, since
# exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#ifdef __STDC__
# include
#else
# include
#endif
Syntax error
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
# Broken: success on invalid input.
continue
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
{ (exit 1); exit 1; }; }
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if test "${ac_cv_path_GREP+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
ac_path_GREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
if test $ac_count -gt ${ac_path_GREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_GREP="$ac_path_GREP"
ac_path_GREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_GREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
{ { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
{ (exit 1); exit 1; }; }
fi
else
ac_cv_path_GREP=$GREP
fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
if test "${ac_cv_path_EGREP+set}" = set; then
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
if test -z "$EGREP"; then
ac_path_EGREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_EGREP="$ac_path_EGREP"
ac_path_EGREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_EGREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
{ { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
{ (exit 1); exit 1; }; }
fi
else
ac_cv_path_EGREP=$EGREP
fi
fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
$as_echo "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
#include
#include
#include
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_stdc=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "memchr" >/dev/null 2>&1; then
:
else
ac_cv_header_stdc=no
fi
rm -f conftest*
fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "free" >/dev/null 2>&1; then
:
else
ac_cv_header_stdc=no
fi
rm -f conftest*
fi
if test $ac_cv_header_stdc = yes; then
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
if test "$cross_compiling" = yes; then
:
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
#include
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#else
# define ISLOWER(c) \
(('a' <= (c) && (c) <= 'i') \
|| ('j' <= (c) && (c) <= 'r') \
|| ('s' <= (c) && (c) <= 'z'))
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
#endif
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
main ()
{
int i;
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
return 2;
return 0;
}
_ACEOF
rm -f conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
#define STDC_HEADERS 1
_ACEOF
fi
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
eval "$as_ac_Header=yes"
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_Header=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
$as_echo "$as_val"'`
{ $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
if test `eval 'as_val=${'$as_ac_Header'}
$as_echo "$as_val"'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
done
if test "${ac_cv_header_zlib_h+set}" = set; then
{ $as_echo "$as_me:$LINENO: checking for zlib.h" >&5
$as_echo_n "checking for zlib.h... " >&6; }
if test "${ac_cv_header_zlib_h+set}" = set; then
$as_echo_n "(cached) " >&6
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
$as_echo "$ac_cv_header_zlib_h" >&6; }
else
# Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking zlib.h usability" >&5
$as_echo_n "checking zlib.h usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
#include
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
{ $as_echo "$as_me:$LINENO: checking zlib.h presence" >&5
$as_echo_n "checking zlib.h presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
ac_header_preproc=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
{ $as_echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
{ $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
{ $as_echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;}
{ $as_echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;}
{ $as_echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;}
{ $as_echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;}
{ $as_echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;}
;;
esac
{ $as_echo "$as_me:$LINENO: checking for zlib.h" >&5
$as_echo_n "checking for zlib.h... " >&6; }
if test "${ac_cv_header_zlib_h+set}" = set; then
$as_echo_n "(cached) " >&6
else
ac_cv_header_zlib_h=$ac_header_preproc
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
$as_echo "$ac_cv_header_zlib_h" >&6; }
fi
ac_config_files="$ac_config_files Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems. If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.
_ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
) |
sed '
/^ac_cv_env_/b end
t clear
:clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
test "x$cache_file" != "x/dev/null" &&
{ $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
{ $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in
*posix*) set -o posix ;;
esac
fi
# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
as_unset=unset
else
as_unset=false
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
case $0 in
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
# Work around bugs in pre-3.0 UWIN ksh.
for as_var in ENV MAIL MAILPATH
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# CDPATH.
$as_unset CDPATH
as_lineno_1=$LINENO
as_lineno_2=$LINENO
test "x$as_lineno_1" != "x$as_lineno_2" &&
test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO
# uniformly replaced by the line number. The first 'sed' inserts a
# line-number line after each line using $LINENO; the second 'sed'
# does the real work. The second script uses 'N' to pair each
# line-number line with the line containing $LINENO, and appends
# trailing '-' during substitution so that $LINENO is not a special
# case at line end.
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
# scripts with optimization help from Paolo Bonzini. Blame Lee
# E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
' <$as_myself |
sed '
s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
. "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in
-n*)
case `echo 'x\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
*) ECHO_C='\c';;
esac;;
*)
ECHO_N='-n';;
esac
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -p'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -p'
fi
else
as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
if test -x / >/dev/null 2>&1; then
as_test_x='test -x'
else
if ls -dL / >/dev/null 2>&1; then
as_ls_L_option=L
else
as_ls_L_option=
fi
as_test_x='
eval sh -c '\''
if test -d "$1"; then
test -d "$1/.";
else
case $1 in
-*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
fi
as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1
# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by MAQ $as_me 0.7.1, which was
generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
on `(hostname || uname -n) 2>/dev/null | sed 1q`
"
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
-q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
instantiate the configuration file FILE
--header=FILE[:TEMPLATE]
instantiate the configuration header FILE
Configuration files:
$config_files
Configuration headers:
$config_headers
Report bugs to ."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
MAQ config.status 0.7.1
configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
--*=*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
esac
case $ac_option in
# Handling of the options.
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
{ $as_echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; };;
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
-*) { $as_echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
*) ac_config_targets="$ac_config_targets $1"
ac_need_defaults=false ;;
esac
shift
done
ac_configure_extra_args=
if $ac_cs_silent; then
exec 6>/dev/null
ac_configure_extra_args="$ac_configure_extra_args --silent"
fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
exec "\$@"
fi
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
$as_echo "$ac_log"
} >&5
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
fi
# Have a temporary directory for convenience. Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
tmp=
trap 'exit_status=$?
{ test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
' 0
trap '{ (exit 1); exit 1; }' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} ||
{
$as_echo "$as_me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
ac_cr='
'
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
{
echo "cat >conf$$subs.awk <<_ACEOF" &&
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
{ { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
{ { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
break
elif $ac_last_try; then
{ { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\).*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\).*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' >$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
}
{
line = $ 0
nfields = split(line, field, "@")
substed = 0
len = length(field[1])
for (i = 2; i < nfields; i++) {
key = field[i]
keylen = length(key)
if (S_is_set[key]) {
value = S[key]
line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
len += length(value) + length(field[++i])
substed = 1
} else
len += 1 + keylen
}
print line
}
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
|| { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
$as_echo "$as_me: error: could not setup config files machinery" >&2;}
{ (exit 1); exit 1; }; }
_ACEOF
# VPATH may cause trouble with some makes, so we remove $(srcdir),
# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=/{
s/:*\$(srcdir):*/:/
s/:*\${srcdir}:*/:/
s/:*@srcdir@:*/:/
s/^\([^=]*=[ ]*\):*/\1/
s/:*$//
s/^[^=]*=[ ]*$//
}'
fi
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
# Set up the scripts for CONFIG_HEADERS section.
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
cat >"$tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
# Transform confdefs.h into an awk script `defines.awk', embedded as
# here-document in config.status, that substitutes the proper values into
# config.h.in to produce config.h.
# Create a delimiter string that does not exist in confdefs.h, to ease
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
ac_t=`sed -n "/$ac_delim/p" confdefs.h`
if test -z "$ac_t"; then
break
elif $ac_last_try; then
{ { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
{ (exit 1); exit 1; }; }
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
# For the awk script, D is an array of macro values keyed by name,
# likewise P contains macro parameters if any. Preserve backslash
# newline sequences.
ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
sed -n '
s/.\{148\}/&'"$ac_delim"'/g
t rset
:rset
s/^[ ]*#[ ]*define[ ][ ]*/ /
t def
d
:def
s/\\$//
t bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3"/p
s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
d
:bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3\\\\\\n"\\/p
t cont
s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
t cont
d
:cont
n
s/.\{148\}/&'"$ac_delim"'/g
t clear
:clear
s/\\$//
t bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/"/p
d
:bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
b cont
' >$CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
for (key in D) D_is_set[key] = 1
FS = ""
}
/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
line = \$ 0
split(line, arg, " ")
if (arg[1] == "#") {
defundef = arg[2]
mac1 = arg[3]
} else {
defundef = substr(arg[1], 2)
mac1 = arg[2]
}
split(mac1, mac2, "(") #)
macro = mac2[1]
if (D_is_set[macro]) {
# Preserve the white space surrounding the "#".
prefix = substr(line, 1, index(line, defundef) - 1)
print prefix "define", macro P[macro] D[macro]
next
} else {
# Replace #undef with comments. This is necessary, for example,
# in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
if (defundef == "undef") {
print "/*", line, "*/"
next
}
}
}
{ print }
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
{ { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
{ (exit 1); exit 1; }; }
fi # test -n "$CONFIG_HEADERS"
eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
shift
for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
:L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
{ (exit 1); exit 1; }; };;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
ac_save_IFS=$IFS
IFS=:
set x $ac_tag
IFS=$ac_save_IFS
shift
ac_file=$1
shift
case $ac_mode in
:L) ac_source=$1;;
:[FH])
ac_file_inputs=
for ac_f
do
case $ac_f in
-) ac_f="$tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
test -f "$ac_f" ||
case $ac_f in
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
{ { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
{ (exit 1); exit 1; }; };;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
ac_file_inputs="$ac_file_inputs '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
configure_input='Generated from '`
$as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
{ $as_echo "$as_me:$LINENO: creating $ac_file" >&5
$as_echo "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
case $configure_input in #(
*\&* | *\|* | *\\* )
ac_sed_conf_input=`$as_echo "$configure_input" |
sed 's/[\\\\&|]/\\\\&/g'`;; #(
*) ac_sed_conf_input=$configure_input;;
esac
case $ac_tag in
*:-:* | *:-) cat >"$tmp/stdin" \
|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
{ (exit 1); exit 1; }; } ;;
esac
;;
esac
ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
{ as_dir="$ac_dir"
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
case $ac_mode in
:F)
#
# CONFIG_FILE
#
case $INSTALL in
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
ac_MKDIR_P=$MKDIR_P
case $MKDIR_P in
[\\/$]* | ?:[\\/]* ) ;;
*/*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
esac
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
ac_sed_dataroot='
/datarootdir/ {
p
q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p
'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
{ $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
{ (exit 1); exit 1; }; }
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&2;}
rm -f "$tmp/stdin"
case $ac_file in
-) cat "$tmp/out" && rm -f "$tmp/out";;
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
esac \
|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
{ (exit 1); exit 1; }; }
;;
:H)
#
# CONFIG_HEADER
#
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
} >"$tmp/config.h" \
|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
{ (exit 1); exit 1; }; }
if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
mv "$tmp/config.h" "$ac_file" \
|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
{ (exit 1); exit 1; }; }
fi
else
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
|| { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
$as_echo "$as_me: error: could not create -" >&2;}
{ (exit 1); exit 1; }; }
fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$_am_arg" : 'X\(//\)[^/]' \| \
X"$_am_arg" : 'X\(//\)$' \| \
X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`/stamp-h$_am_stamp_count
;;
esac
done # for ac_tag
{ (exit 0); exit 0; }
_ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
{ { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded. So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status. When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
ac_cs_success=:
ac_config_status_args=
test "$silent" = yes &&
ac_config_status_args="$ac_config_status_args --quiet"
exec 5>/dev/null
$SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;}
fi
maq-0.7.1/configure.ac 0000644 0000766 0000024 00000003137 11067172577 013156 0 ustar lh3 staff AC_INIT(MAQ, 0.7.1)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([no-dependencies])
AC_CANONICAL_HOST
AC_PROG_CC
AC_PROG_CXX
# set CFLAGS and CXXFLAGS
user_CFLAGS=${CFLAGS}
generic_CFLAGS="-Wall"
ext_CFLAGS=""
case "${host_cpu}-${host_os}" in
i386-darwin*)
AC_ARG_ENABLE(universal, [ --enable-universal enable universal binary (Intel Apple only)],
[is_uni=1], [is_uni=0])
case $is_uni in
1) CFLAGS="-m64"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
[ext_CFLAGS="-arch x86_64 -arch i386 -arch ppc64 -arch ppc"],
[ext_CFLAGS="-arch i386 -arch ppc"]);;
0) CFLAGS="-m64"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [ext_CFLAGS="-m64"], []);;
esac;;
*)
AC_MSG_CHECKING([if gcc accepts -m64])
CFLAGS="-m64"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [ext_CFLAGS="-m64"; AC_MSG_RESULT([yes])],
[ext_CFLAGS="-D_FILE_OFFSET_BITS=64"; AC_MSG_RESULT([no])]);;
esac
AC_ARG_ENABLE(experimental, [ --enable-experimental enable experimental features],
[ext_CFLAGS="${ext_CFLAGS} -DMAQ_SHOW_EXPERIMENTAL"], [])
AC_ARG_ENABLE(slowmap, [ --enable-slowmap use slowmap mode for better sensitivity],
[], [ext_CFLAGS="${ext_CFLAGS} -D_FASTMAP"])
AC_ARG_ENABLE(shortread, [ --enable-shortreads use shortread mode],
[], [ext_CFLAGS="${ext_CFLAGS} -DMAQ_LONGREADS"])
AC_ARG_ENABLE(intel64, [ --enable-intel64 optimize for Intel64 CPU such as Xeon and Core2],
[ext_CFLAGS="${ext_CFLAGS} -mtune=nocona"], [])
CFLAGS="${generic_CFLAGS} ${ext_CFLAGS} ${user_CFLAGS}"
CXXFLAGS=$CFLAGS
AC_STDC_HEADERS
AC_CHECK_HEADER(zlib.h)
AC_OUTPUT(Makefile)
maq-0.7.1/const.c 0000644 0000766 0000024 00000004003 10766735650 012155 0 ustar lh3 staff #include "const.h"
bit8_t nst_nt4_table[256] = {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5 /*'-'*/, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
};
char *nst_nt4_rev_table = "ACGTN-";
unsigned char nst_nt16_table[256] = {
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15 /*'-'*/,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15, 1,14, 2, 13,15,15, 4, 11,15,15,12, 15, 3,15,15,
15,15, 5, 6, 8,15, 7, 9, 0,10,15,15, 15,15,15,15,
15, 1,14, 2, 13,15,15, 4, 11,15,15,12, 15, 3,15,15,
15,15, 5, 6, 8,15, 7, 9, 0,10,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15
};
char *nst_nt16_rev_table = "XACMGRSVTWYHKDBN";
bit8_t nst_nt16_nt4_table[] = { 4, 0, 1, 4, 2, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4 };
int nst_nt16_count_table[] = { 4, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
maq-0.7.1/const.h 0000644 0000766 0000024 00000000634 10766735650 012170 0 ustar lh3 staff #ifndef NST_CONST_H
#define NST_CONST_H
#define MAX_ULL 0xffffffffffffffffull
typedef unsigned long long bit64_t;
typedef unsigned bit32_t;
typedef unsigned short bit16_t;
typedef unsigned char bit8_t;
extern bit8_t nst_nt4_table[];
extern bit8_t nst_nt16_table[];
extern char *nst_nt4_rev_table;
extern char *nst_nt16_rev_table;
extern bit8_t nst_nt16_nt4_table[];
extern int nst_nt16_count_table[];
#endif
maq-0.7.1/csmap2ntmap.cc 0000644 0000766 0000024 00000012251 10773300343 013404 0 ustar lh3 staff #include
#include
#include
#include
#include
#include "maqmap.h"
#include "stdhash.hh"
#include "main.h"
#include "stdhash.hh"
#include "bfa.h"
/*
Here is a delicate example. ref_nt=ATTAAC(RBRBG), read_cs=RBBOG. If we
decode as ATTGAC(RBGOG), there are one color change and one nt change;
if we decode as ATTAAC(RBRBG), there are two color changes.
In DP, if color quality is smaller than COLOR_MM, we will use COLOR_MM
as the penalty; otherwise, we will use color quality as the
penalty. This means we always prefer two consistent color changes over
a nt change, but if a color has high quality, we may prefer one nt
change.
In the above example, the penalties of the two types of decoding are
q(B)+25 and q(B)+q(O), respectively. If q(O)>25, we prefer the first;
otherwise the second. Note that no matter what we choose, the fourth
base will get a low nt quality.
*/
#define COLOR_MM 19
#define NUCL_MM 25
const int nst_ntnt2cs_table[] = { 4, 0, 0, 1, 0, 2, 3, 4, 0, 3, 2, 4, 1, 4, 4, 4 };
const int nst_ntcs2nt_table[] = { 0, 1, 2, 3, 1, 0, 3, 2, 2, 3, 0, 1, 3, 2, 1, 0 }; // useless at the moment
static inline int get_readseq(const nst_bfa1_t *l, int pos, int size, bit8_t *ntread)
{
int k;
bit64_t *s, *m;
if (pos + size >= l->ori_len) return 1;
s = l->seq + (pos>>5); m = l->mask + (pos>>5);
for (k = 0; k <= size; ++k) {
int i = (31 - ((pos+k)&0x1f)) << 1;
ntread[k] = ((*m>>i&0x3) == 3)? (*s>>i&0x3) : 4;
if (31 - ((pos+k)&0x1f) == 0) {
++s; ++m;
}
}
return 0;
}
static void cs2nt_dp(int size, const bit8_t *nt_ref, const bit8_t *csseq, bit8_t *nt_read, bit8_t *btarray)
{
int h[8], curr, last;
int x, y, xmin, hmin, k;
// recursion: initial value
if (nt_ref[0] >= 4) memset(h, 0, sizeof(int) << 2);
else {
for (x = 0; x != 4; ++x) h[x] = NUCL_MM;
h[nt_ref[0]] = 0;
}
// recursion: main loop
curr = 1; last = 0;
for (k = 1; k <= size; ++k) {
for (x = 0; x != 4; ++x) {
int min = 0x7fffffff, ymin = 0;
for (y = 0; y != 4; ++y) {
int s = h[last<<2|y];
if (csseq[k-1] && csseq[k-1]>>6 != nst_ntnt2cs_table[1<= 0; --k)
nt_read[k] = btarray[(k+1)<<2 | nt_read[k+1]];
}
static void cal_nt_qual(int size, const bit8_t *nt_read, bit8_t *seq, bit8_t *tarray)
{
int k, c1, c2;
bit8_t *t2array = tarray + size;
// get the color sequence of nt_read
c1 = nt_read[0];
for (k = 1; k <= size; ++k) {
c2 = nt_read[k]; // in principle, there is no 'N' in nt_read[]
tarray[k-1] = (c1 >= 4 || c2 >= 4)? 4 : nst_ntnt2cs_table[1<>6 && tarray[k] == seq[k]>>6) {
q = int(seq[k-1]&0x3f) + int(seq[k]&0x3f) + 10;
} else if (tarray[k-1] == seq[k-1]>>6) {
q = int(seq[k-1]&0x3f) - int(seq[k]&0x3f);
} else if (tarray[k] == seq[k]>>6) {
q = int(seq[k]&0x3f) - int(seq[k-1]&0x3f);
} // else, q = 0
if (q < 1) q = 1;
if (q > 63) q = 63;
t2array[k] = nt_read[k]<<6 | q;
if (seq[k-1] == 0 && seq[k] == 0) t2array[k] = 0;
}
memcpy(seq, t2array+1, size-1); // t2array[0] and t2array[size] are not copied
seq[size-1] = 0;
}
static void csmap2nt_core(gzFile fpout, FILE *fpbfa, gzFile fpmap)
{
nst_bfa1_t *l = 0;
bit32_t seqid = 0;
int k;
hash_map_char *hash_map = new hash_map_char;
maqmap_t *mm = maqmap_read_header(fpmap); // skip the sequence names
maqmap1_t mm1, *m1;
bit8_t nt_ref[MAX_READLEN+1], nt_read[MAX_READLEN+1], tarray[(MAX_READLEN+1) * 4];
m1 = &mm1;
for (k = 0; k != mm->n_ref; ++k) hash_map->insert(mm->ref_name[k], k);
maqmap_write_header(fpout, mm);
maqmap_read1(fpmap, m1);
while ((l = nst_load_bfa1(fpbfa)) != 0) {
if (!hash_map->find(l->name, &seqid)) {
nst_delete_bfa1(l);
continue;
}
do {
if (m1->seqid != seqid) break;
if (get_readseq(l, m1->pos>>1, m1->size, nt_ref)) continue;
cs2nt_dp(m1->size, nt_ref, m1->seq, nt_read, tarray);
cal_nt_qual(m1->size, nt_read, m1->seq, tarray);
m1->pos += 2;
--m1->size;
gzwrite(fpout, m1, sizeof(maqmap1_t));
} while (maqmap_read1(fpmap, m1));
nst_delete_bfa1(l);
if (gzeof(fpmap)) break; // end of alignment file
}
maq_delete_maqmap(mm);
delete hash_map;
}
int maq_csmap2nt(int argc, char *argv[])
{
gzFile fpin, fpout;
FILE *fp_bfa;
if (argc < 4) {
fprintf(stderr, "Usage: maq csmap2nt \n");
return 1;
}
fpout = (strcmp(argv[1], "-") == 0)? gzdopen(fileno(stdout), "w") : gzopen(argv[1], "w");
fp_bfa = fopen(argv[2], "r");
fpin = (strcmp(argv[3], "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(argv[3], "r");
assert(fpout && fpin && fp_bfa);
csmap2nt_core(fpout, fp_bfa, fpin);
gzclose(fpin); gzclose(fpout); fclose(fp_bfa);
return 0;
}
maq-0.7.1/dword.hh 0000644 0000766 0000024 00000006764 11067172577 012341 0 ustar lh3 staff #ifndef LH3_DWORD_H
#define LH3_DWORD_H
#include "const.h"
template
struct dword_t
{
TYPE w1, w2;
static const int n_bits = sizeof(TYPE) * 8;
inline dword_t() { w1 = TYPE(0); w2 = TYPE(0); }
inline dword_t(bit16_t _w1) { w1 = TYPE(_w1); w2 = TYPE(0); }
inline dword_t(bit32_t _w1) { w1 = TYPE(_w1); w2 = TYPE(0); }
inline dword_t(bit64_t _w1) { w1 = TYPE(_w1); w2 = TYPE(0); }
inline dword_t(int _w1) : w1(TYPE(_w1)), w2(TYPE(0)) {}
inline dword_t(const TYPE &_w1, const TYPE &_w2) : w1(_w1), w2(_w2) {}
inline dword_t(const dword_t &x) : w1(x.w1), w2(x.w2) {}
inline const dword_t &operator >>= (int k) {
if (k == 0) return *this;
if (k < n_bits) {
w1 = (w1>>k) | (TYPE(w2)<<(-k)); w2 >>= k;
} else if (k < n_bits*2) {
w1 = TYPE(w2)>>(k-n_bits); w2 = TYPE(0);
} else w1 = w2 = TYPE(0);
return *this;
}
inline const dword_t &operator <<= (int k) {
if (k == 0) return *this;
if (k < n_bits) {
w2 = (w2<>(n_bits-k)); w1 <<= k;
} else if (k < n_bits*2) {
w2 = w1 << (k-n_bits); w1 = TYPE(0);
} else w1 = w2 = TYPE(0);
return *this;
}
inline const dword_t &operator &= (const dword_t &w) {
w1 &= w.w1; w2 &= w.w2;
return *this;
}
inline const dword_t &operator |= (const dword_t &w) {
w1 |= w.w1; w2 |= w.w2;
return *this;
}
inline dword_t &operator |= (int w) {
w1 |= w;
return *this;
}
inline dword_t &operator ^= (const dword_t &w) {
w1 ^= w.w1; w2 ^= w.w2;
return *this;
}
inline operator bit64_t() const { return bit64_t(w1); }
};
template
inline dword_t operator >> (const dword_t &w, int k) {
return (k == 0)? w
: (k < dword_t::n_bits)? dword_t((w.w1>>k) | (TYPE(w.w2)<<(dword_t::n_bits-k)), w.w2>>k)
: (k < dword_t::n_bits*2)? dword_t(TYPE(w.w2)>>(k-dword_t::n_bits), TYPE(0))
: dword_t(TYPE(0), TYPE(0));
}
template
inline dword_t operator << (const dword_t &w, int k) {
return (k == 0)? w
: (k < dword_t::n_bits)? dword_t(w.w1<>(dword_t::n_bits-k)))
: (k < dword_t::n_bits*2)? dword_t(TYPE(0), TYPE(w.w1<<(k-dword_t::n_bits)))
: dword_t(TYPE(0), TYPE(0));
}
template
inline dword_t operator & (const dword_t &w, const dword_t &ww) {
return dword_t(w.w1 & ww.w1, w.w2 & ww.w2);
}
template
inline int operator < (const dword_t &w, const dword_t &ww) {
return (w.w2 < ww.w2 || (w.w2 == ww.w2 && w.w1 < ww.w1));
}
template
inline dword_t operator | (const dword_t &w, const dword_t &ww) {
return dword_t(w.w1 | ww.w1, w.w2 | ww.w2);
}
template
inline dword_t operator ^ (const dword_t &w, const dword_t &ww) {
return dword_t(w.w1 ^ ww.w1, w.w2 ^ ww.w2);
}
template
inline int operator != (const dword_t &w, const dword_t &ww) {
return (w.w1 != ww.w1 || w.w2 != ww.w2);
}
template
inline int operator == (const dword_t &w, const dword_t &ww) {
return (w.w1 == ww.w1 && w.w2 == ww.w2);
}
template
inline dword_t operator ~ (const dword_t &w) {
return dword_t(~w.w1, ~w.w2);
}
template
inline T2 operator & (const dword_t &w, T2 k) {
return T2(w.w1 & k);
}
template
inline dword_t operator | (const dword_t &w, T2 k) {
return dword_t(w.w1 | k, w.w2);
}
#endif
maq-0.7.1/eland2maq.cc 0000644 0000766 0000024 00000057511 11065656462 013046 0 ustar lh3 staff /*
* 19th Aug 2008, Modified by Colin Hercus to include conversion of novoalign and novopaired reports to maq format.
* Released under GPL
*/
#include
#include
#include
#include
#include
#include
#include
#include "maqmap.h"
#include "algo.hh"
#include "stdhash.hh"
#include "main.h"
static int DEFAULT_QUAL = 25;
static int log_n[256];
static char **name_conv;
static hash_map_char *read_list(FILE *fp)
{
hash_map_char *hash = new hash_map_char;
char str[1024];
int i = 0;
while (fscanf(fp, "%s", str) != 0) {
if (feof(fp)) break;
char *p = (str[0] == '>')? str+1 : str;
int c;
bit32_t x;
assert(!hash->find(p, &x));
hash->insert(p, i);
fscanf(fp, "%s", str);
if ((i&0xff) == 0)
name_conv = (char**)realloc(name_conv, sizeof(char*) * (i + 0x100));
name_conv[i++] = strdup(p);
while ((c = fgetc(fp)) != EOF && c != '\n');
}
return hash;
}
static inline int cal_map_qual(int default_qual, bit32_t *count)
{
if (count[0] == 1) {
if (count[1] == 0 && count[2] == 0) return 3 * default_qual;
if (count[1] == 0) return 2 * default_qual - log_n[count[2]];
return default_qual - log_n[count[1]];
}
if (count[1] == 1) {
if (count[2] == 0) return 2 * default_qual;
return default_qual - log_n[count[2]];
}
if (count[2] == 1) return default_qual - 3;
return default_qual;
}
static inline int operator < (const maqmap1_t &a, const maqmap1_t &b)
{
return (a.seqid < b.seqid) || (a.seqid == b.seqid && a.pos < b.pos);
}
static void eland2maq_core(FILE *fp_list, FILE *fp_eland, gzFile fp)
{
hash_map_char *hash;
// initialize maqmap_t
maqmap_t *mm = maq_new_maqmap();
int max = 0, i, l;
hash = read_list(fp_list);
mm->n_ref = hash->size();
mm->ref_name = (char**)malloc(sizeof(char*) * mm->n_ref);
for (i = 0; i != int(hash->size()); ++i)
mm->ref_name[i] = strdup(name_conv[i]);
// initialize log_n
log_n[0] = -1;
for (i = 1; i != 256; ++i)
log_n[i] = (int)(3.434 * log((float)i) + 0.5);
// read the file
char str[1024], str2[1024];
bit8_t tmp_seq[MAX_READLEN];
bit32_t tmp[4];
while (fscanf(fp_eland, "%s", str) != 0) {
if (feof(fp_eland)) break;
if (mm->n_mapped_reads == (bit64_t)max)
mm->mapped_reads = (maqmap1_t*)realloc(mm->mapped_reads, sizeof(maqmap1_t) * (max += 0x100000));
maqmap1_t *m1 = mm->mapped_reads + mm->n_mapped_reads;
// set name
strncpy(m1->name, str+1, MAX_NAMELEN-1);
m1->name[MAX_NAMELEN - 1] = 0;
// set seq
fscanf(fp_eland, "%s", str);
memset(m1->seq, 0, MAX_READLEN);
m1->size = l = strlen(str);
for (i = 0; i != l; ++i) {
tmp[0] = nst_nt4_table[(int)str[i]];
m1->seq[i] = (tmp[0] > 3)? 0 : (tmp[0]<<6 | DEFAULT_QUAL);
}
// read flag
fscanf(fp_eland, "%s", str);
if (str[0] == 'U') { // there is an alignment
int n_mis = str[1] - '0';
fscanf(fp_eland, "%u%u%u%s%u%s", tmp, tmp+1, tmp+2, str, tmp+3, str2);
if (hash->find(str, &m1->seqid)) {
if (str2[0] == 'R') {
for (i = m1->size - 1; i >= 0; --i)
tmp_seq[m1->size-i-1] = (m1->seq[i] == 0)? 0 : (0xc0 - (m1->seq[i]&0xc0)) | (m1->seq[i]&0x3f);
memcpy(m1->seq, tmp_seq, m1->size);
}
m1->c[0] = tmp[0];
m1->c[1] = tmp[1];
m1->flag = 0;
m1->dist = 0;
m1->pos = (tmp[3]-1)<<1 | (str2[0] == 'F'? 0 : 1);
m1->info1 = n_mis<<4 | n_mis;
m1->info2 = n_mis * DEFAULT_QUAL;
m1->map_qual = m1->seq[MAX_READLEN-1] = m1->alt_qual = cal_map_qual(DEFAULT_QUAL, tmp);
}
++mm->n_mapped_reads;
}
while ((i = fgetc(fp_eland)) != EOF && i != '\n');
}
algo_sort(mm->n_mapped_reads, mm->mapped_reads);
maqmap_write_header(fp, mm);
gzwrite(fp, mm->mapped_reads, sizeof(maqmap1_t) * mm->n_mapped_reads);
// free
maq_delete_maqmap(mm);
for (i = 0; i != int(hash->size()); ++i) free(name_conv[i]);
free(name_conv);
delete hash;
}
static int usage()
{
fprintf(stderr, "Usage: maq eland2maq [-q qual] \n");
return 1;
}
int maq_eland2maq(int argc, char *argv[])
{
FILE *fp_eland, *fp_list;
gzFile fp_map;
int c;
while ((c = getopt(argc, argv, "q:")) >= 0) {
switch (c) {
case 'q': DEFAULT_QUAL = atoi(optarg); break;
}
}
if (optind + 2 >= argc) return usage();
fp_eland = (strcmp(argv[optind+2], "-") == 0)? stdin : fopen(argv[optind+2], "r");
fp_list = fopen(argv[optind+1], "r");
fp_map = gzopen(argv[optind], "w");
assert(fp_eland && fp_list && fp_map);
eland2maq_core(fp_list, fp_eland, fp_map);
fclose(fp_eland); fclose(fp_list); gzclose(fp_map);
return 0;
}
/* novo2maq
name: read name
size: the length of the read
seq: read sequence (see also below)
seq[MAX_READLEN-1]: single end mapping quality (equals to map_qual if not paired)
map_qual: the final mapping quality
alt_qual: the lower quality of the two ends (equals to map_qual if not paired)
flag: status of the pair
dist: offset of the mate (zero if not paired)
info1: mismatches in the 24bp (higher 4 bits) and mismatches (lower 4 bits)
info2: sum of errors of the best hit
c[2]: count of all 0- and 1-mismatch hits on the reference
*/
// Recover novo indels while making sure to only pick up indels smith-waterman would find.
// Needleman-Wunsch used in novo may report indels too close to the ends of the reads.
static bool gapped(char * mm, char strand, int rdlen, int &readposn, int &indellen) {
if(*mm == '\0')
return false;
int tposn = 1, qposn = 1, posn = 1;
int match = 15, mismatch = 30, gapopen = 40, gapextend = 10;
int maxsc = 0, maxposn = 0;
bool gapped = false;
int sc[256], mv[256], qp[256], tp[256];
sc[0] = qp[0] = tp[0] = '\0';
mv[0] = '|';
while(*mm != '\0') {
int i = 0;
while(isdigit(*mm))
i = i* 10 + (*mm++ - '0');
while(tposn < i) {
sc[posn] = sc[posn-1] + match;
mv[posn] = '|';
qp[posn] = qposn;
tp[posn] = tposn;
tposn++;
qposn++;
posn++;
}
if(sc[tposn-1] > maxsc) {
maxsc = sc[tposn - 1];
maxposn = tposn - 1;
}
switch(*mm) {
case '+':
gapped = true;
if(mv[posn-1] == '+')
sc[posn] = sc[posn-1] - gapextend;
else
sc[posn] = sc[posn-1] - gapopen;
if(sc[posn] < 0)
sc[posn] = 0;
mv[posn] = '+';
qp[posn] = qposn;
tp[posn] = tposn;
qposn++;
posn++;
mm +=3;
break;
case '-':
gapped = true;
if(mv[posn-1] == '-')
sc[posn] = sc[posn-1] - gapextend;
else
sc[posn] = sc[posn-1] - gapopen;
if(sc[posn] < 0)
sc[posn] = 0;
mv[posn] = '-';
qp[posn] = qposn;
tp[posn] = tposn;
tposn++;
posn++;
mm += 3;
break;
default:
sc[posn] = sc[posn-1] - mismatch;
if(sc[posn] < 0)
sc[posn] = 0;
mv[posn] = '|';
qp[posn] = qposn;
tposn++;
qposn++;
posn++;
mm+= 4;
}
}
if(!gapped)
return false;
while(qposn <= rdlen) {
sc[posn] = sc[posn-1] + match;
mv[posn] = '|';
qp[posn] = qposn;
tp[posn] = tposn;
tposn++;
qposn++;
posn++;
}
if(sc[tposn-1] > maxsc) {
maxsc = sc[tposn - 1];
maxposn = tposn - 1;
}
if(maxsc <= 0)
return false;
int j = maxposn;
while(sc[j] > 0 && mv[j] == '|')
j--;
if(mv[j] == '|')
return false;
indellen = 1;
while(mv[j-1] == mv[j]) {
indellen++;
j--;
}
// if(strand == 'F')
readposn = qp[j] - 1;
// else
// readposn = rdlen - qp[j + indellen - 1] + 1;
if(mv[j] == '-')
indellen = -indellen;
return true;
}
#define min(x,y) ((x)<(y)? (x):(y))
static void novo2maq_core(FILE *fp_list, FILE *fp_novo, gzFile fp)
{
hash_map_char *hash;
// initialize maqmap_t
maqmap_t *mm = maq_new_maqmap();
int max = 0, i, l;
hash = read_list(fp_list);
mm->n_ref = hash->size();
mm->ref_name = (char**)malloc(sizeof(char*) * mm->n_ref);
for (i = 0; i != int(hash->size()); ++i)
mm->ref_name[i] = strdup(name_conv[i]);
// initialize log_n
log_n[0] = -1;
for (i = 1; i != 256; ++i)
log_n[i] = (int)(3.434 * log((float)i) + 0.5);
// read the file
enum {n_readid, n_side, n_seq, n_qual, n_status, n_score, n_quality, n_chr, n_offset, n_strand, n_chr2, n_offset2, n_strand2, n_poly};
char * novo[n_poly + 1];
char * novo2[n_poly + 1];
char str[4096], str2[4096];
bit8_t tmp_seq[MAX_READLEN];
bit32_t tmp[4];
while (fgets( str, 4096,fp_novo ) != NULL) {
if (feof(fp_novo)) break;
if(str[0] == '#' || str[0] == '\0')
continue;
if (mm->n_mapped_reads + 1 >= (bit64_t)max) // Make sure room for a pair.
mm->mapped_reads = (maqmap1_t*)realloc(mm->mapped_reads, sizeof(maqmap1_t) * (max += 0x100000));
maqmap1_t *m1 = mm->mapped_reads + mm->n_mapped_reads;
char *np = str;
char mtstr[1] = "";
for(i = 0; i <= n_poly; i++ ) {
novo[i] = np;
while(*np != '\t' && *np != '\n' && *np != '\0')
np++;
if(*np == '\n' || *np == '\0') break;
*np++ = '\0';
}
*np = '\0';
for(i++;i <= n_poly; i++ ) novo[i] = mtstr;
// Read pair
bool paired =false;
if(novo[n_side][0] != 'S') {
paired = true;
fgets( str2, 4096, fp_novo );
np = str2;
for(i = 0; i <= n_poly; i++ ) {
novo2[i] = np;
while(*np != '\t' && *np != '\n')
np++;
if(*np == '\n') break;
*np++ = '\0';
}
*np = '\0';
for(i++;i <= n_poly; i++ ) novo2[i] = mtstr;
}
// read flag
if (novo[n_status][0] == 'U' || (paired && novo2[n_status][0] == 'U')) { // there is an alignment
// set name
strncpy(m1->name, novo[n_readid]+1, MAX_NAMELEN-1);
m1->name[MAX_NAMELEN - 1] = 0;
// set seq
m1->size = l = strlen(novo[n_seq]);
if(novo[n_qual][0] == '\0')
for (i = 0; i != l; ++i) {
tmp[0] = nst_nt4_table[(int)novo[n_seq][i]];
m1->seq[i] = (tmp[0] > 3)? 0 : (tmp[0]<<6 | DEFAULT_QUAL);
}
else
for (i = 0; i != l; ++i) {
tmp[0] = nst_nt4_table[(int)novo[n_seq][i]];
m1->seq[i] = (tmp[0] > 3)? 0 : (tmp[0]<<6 | ((int)novo[n_qual][i] - 33));
}
int n_mis = (atoi(novo[n_score]) + 15)/30;
if (novo[n_status][0] != 'U')
n_mis = 0;
bool aligned = hash->find(novo[n_chr]+1, &m1->seqid);
if (novo[n_strand][0] == 'R') {
for (i = m1->size - 1; i >= 0; --i)
tmp_seq[m1->size-i-1] = (m1->seq[i] == 0)? 0 : (0xc0 - (m1->seq[i]&0xc0)) | (m1->seq[i]&0x3f);
memcpy(m1->seq, tmp_seq, m1->size);
}
m1->c[0] = 0; // 0 mismatches alignments
m1->c[1] = 0; // 1 mismatch alignments
if(n_mis == 0)
m1->c[0] = 1; // 0 mismatches alignments
else
m1->c[1] = 1; // 1 mismatch alignments
m1->flag = 0; //paired flag FR, correct pair, 16 good pair, 32 diff chr, 64 one read of pair not mapped, 128 this read not mapped and other read is.
m1->dist = 0; // Outer coordinates
m1->pos = (atoi(novo[n_offset])-1)<<1 | (novo[n_strand][0] == 'F'? 0 : 1);
m1->info1 = n_mis<<4 | n_mis;
m1->info2 = atoi(novo[n_score])/3;
m1->map_qual = m1->seq[MAX_READLEN-1] = min(60, atoi(novo[n_quality]));
m1->alt_qual = m1->map_qual; // Lesser of two reads
if(paired) {
int dist = 0;
int flag = 64;
if (novo[n_status][0] != 'U') {
m1->flag = 192;
m1->info2 = 0;
m1->map_qual = m1->seq[MAX_READLEN-1] = 0;
m1->alt_qual = min(60, atoi(novo2[n_quality]));
} else if (novo2[n_status][0] != 'U') {
m1->flag = 64;
flag = 192;
m1->alt_qual = min((int)m1->map_qual, atoi(novo2[n_quality]));
} else {
if(novo[n_chr2][0] == '\0'
&& strcmp(novo[n_quality], novo2[n_quality]) == 0
&& (dist = abs( atoi(novo[n_offset]) - atoi(novo[n_offset2]))) < 2000) {
if(novo[n_strand][0] == 'R')
dist = -(dist + strlen(novo[n_seq]));
else
dist += strlen(novo2[n_seq]);
m1->flag = flag = 2 + 16;
m1->dist = dist;
} else if(novo[n_chr2][0] != '\0')
m1->flag = flag = 32;
else if(novo[n_strand][0] == 'R' && novo2[n_strand][0] == 'R')
m1->flag = flag = 8;
else if(novo[n_strand][0] == 'F' && novo2[n_strand][0] == 'F')
m1->flag = flag = 1;
else
m1->flag = flag = 8;
int gapposn, gaplen;
if(gapped(novo[n_poly], novo[n_strand][0], m1->size, gapposn, gaplen)) {
//gapped(novo[n_poly], novo[n_strand][0], m1->size, gapposn, gaplen);
m1->flag = 130;
m1->map_qual = gapposn;
m1->seq[MAX_READLEN-1] = gaplen;
}
}
if(aligned && m1->flag != 192)
++mm->n_mapped_reads;
if(flag == 192)
continue;
m1 = mm->mapped_reads + mm->n_mapped_reads;
// set name
strncpy(m1->name, novo2[n_readid]+1, MAX_NAMELEN-1);
m1->name[MAX_NAMELEN - 1] = 0;
// set seq
m1->size = l = strlen(novo2[n_seq]);
if(novo2[n_qual][0] == '\0')
for (i = 0; i != l; ++i) {
tmp[0] = nst_nt4_table[(int)novo2[n_seq][i]];
m1->seq[i] = (tmp[0] > 3)? 0 : (tmp[0]<<6 | DEFAULT_QUAL);
}
else
for (i = 0; i != l; ++i) {
tmp[0] = nst_nt4_table[(int)novo2[n_seq][i]];
m1->seq[i] = (tmp[0] > 3)? 0 : (tmp[0]<<6 | ((int)novo2[n_qual][i] - 33));
}
int n_mis = (atoi(novo2[n_score]) + 15)/30;
if (novo2[n_status][0] != 'U')
n_mis = 0;
if (!hash->find(novo2[n_chr]+1, &m1->seqid)) {
continue;
}
aligned = true;
if (novo2[n_strand][0] == 'R') {
for (i = m1->size - 1; i >= 0; --i)
tmp_seq[m1->size-i-1] = (m1->seq[i] == 0)? 0 : (0xc0 - (m1->seq[i]&0xc0)) | (m1->seq[i]&0x3f);
memcpy(m1->seq, tmp_seq, m1->size);
}
m1->c[0] = 0; // 0 mismatches alignments
m1->c[1] = 0; // 1 mismatch alignments
if(n_mis == 0)
m1->c[0] = 1; // 0 mismatches alignments
else
m1->c[1] = 1; // 1 mismatch alignments
m1->flag = flag; // paired flag FR, correct pair, 16 good pair, 32 diff chr, 64 one read of pair not mapped, 128 this read not mapped and other read is.
m1->dist = -dist; // Outer coordinates
m1->pos = (atoi(novo2[n_offset])-1)<<1 | (novo2[n_strand][0] == 'F'? 0 : 1);
m1->info1 = n_mis<<4 | n_mis;
m1->info2 = atoi(novo2[n_score])/3;
m1->map_qual = m1->seq[MAX_READLEN-1] = min(60, atoi(novo2[n_quality]));
if (novo[n_status][0] == 'U')
m1->alt_qual = min(60,min((int)m1->map_qual, atoi(novo[n_quality])));
else
m1->alt_qual = m1->map_qual;
int gapposn, gaplen;
if(gapped(novo2[n_poly], novo2[n_strand][0], m1->size, gapposn, gaplen)) {
//gapped(novo2[n_poly], novo2[n_strand][0], m1->size, gapposn, gaplen);
m1->flag = 130;
m1->map_qual = gapposn;
m1->seq[MAX_READLEN-1] = gaplen;
}
} else {
int gapposn, gaplen;
if(gapped(novo[n_poly], novo[n_strand][0], m1->size, gapposn, gaplen)) {
m1->flag = 130;
// m1->c[0] = 0; // 0 mismatches alignments
// m1->c[1] = 0; // 1 mismatch alignments
m1->alt_qual = m1->map_qual;
m1->map_qual = gapposn;
m1->seq[MAX_READLEN-1] = gaplen;
}
}
if(aligned)
++mm->n_mapped_reads;
}
}
algo_sort(mm->n_mapped_reads, mm->mapped_reads);
maqmap_write_header(fp, mm);
gzwrite(fp, mm->mapped_reads, sizeof(maqmap1_t) * mm->n_mapped_reads);
// free
maq_delete_maqmap(mm);
for (i = 0; i != int(hash->size()); ++i) free(name_conv[i]);
free(name_conv);
delete hash;
}
static int novo2maqusage()
{
fprintf(stderr, "Usage: maq novo2maq \n");
return 1;
}
int maq_novo2maq(int argc, char *argv[])
{
FILE *fp_novo, *fp_list;
gzFile fp_map;
// int c;
// while ((c = getopt(argc, argv, "")) >= 0) {
// switch (c) {
// case 'q': DEFAULT_QUAL = atoi(optarg); break;
// }
// }
optind = 1;
if (optind + 2 >= argc) return novo2maqusage();
fp_novo = (strcmp(argv[optind+2], "-") == 0)? stdin : fopen(argv[optind+2], "r");
fp_list = fopen(argv[optind+1], "r");
fp_map = gzopen(argv[optind], "w");
assert(fp_novo && fp_list && fp_map);
novo2maq_core(fp_list, fp_novo, fp_map);
fclose(fp_novo); fclose(fp_list); gzclose(fp_map);
return 0;
}
/* export2maq */
static int read_len[2], max_dist = 250, is_non_filtered = 0;
static inline int tabread(FILE *fp, char buf[])
{
int c;
char *p = buf;
while ((c = fgetc(fp)) != '\n' && c != '\t' && c != EOF)
*p++ = c;
*p = '\0';
return c;
}
static void export2maq_core(FILE *fp_list, FILE *fp_export, gzFile fp)
{
hash_map_char *hash;
// quality conversion table
int table[128];
for (int l = 0; l != 128; ++l) {
table[l] = (int)(10.0 * log(1.0 + pow(10.0, (l - 64) / 10.0)) / log(10.0) + .499);
if (table[l] >= 63) table[l] = 63;
if (table[l] == 0) table[l] = 1;
}
// initialize maqmap_t
maqmap_t *mm = maq_new_maqmap();
int max = 0, i, l;
hash = read_list(fp_list);
mm->n_ref = hash->size();
mm->ref_name = (char**)malloc(sizeof(char*) * mm->n_ref);
for (i = 0; i != int(hash->size()); ++i)
mm->ref_name[i] = strdup(name_conv[i]);
// read the file
char str[1024], str2[1024];
bit8_t tmp_seq[MAX_READLEN];
int ti[5], c;
while (fscanf(fp_export, "%s%d%d%d%d%d", str, ti, ti+1, ti+2, ti+3, ti+4) != 0) {
if (feof(fp_export)) break;
if (mm->n_mapped_reads == (bit64_t)max)
mm->mapped_reads = (maqmap1_t*)realloc(mm->mapped_reads, sizeof(maqmap1_t) * (max += 0x100000));
maqmap1_t *m1 = mm->mapped_reads + mm->n_mapped_reads;
sprintf(str2, "%s_%d:%d:%d:%d:%d", str, ti[0], ti[1], ti[2], ti[3], ti[4]);
// set name
strncpy(m1->name, str2, MAX_NAMELEN-1);
m1->name[MAX_NAMELEN - 1] = 0;
// set m1->c[2]
m1->c[0] = m1->c[1] = 0;
// set seq and qual
fgetc(fp_export); // skip '\t'
c = tabread(fp_export, str); // index
c = tabread(fp_export, str); // 1 or 2
int cur_read = atoi(str) - 1;
c = tabread(fp_export, str); // seq
c = tabread(fp_export, str2); // qual
memset(m1->seq, 0, MAX_READLEN);
m1->size = l = strlen(str);
// update read_len
read_len[cur_read] = m1->size;
if (read_len[1-cur_read] == 0) read_len[1-cur_read] = m1->size;
for (i = 0; i != l; ++i) {
int t = nst_nt4_table[(int)str[i]];
m1->seq[i] = (t > 3)? 0 : (t<<6 | table[(int)str2[i]]);
}
c = tabread(fp_export, str); // target
if (strcmp(str, "NM") && hash->find(str, &m1->seqid)) {
c = tabread(fp_export, str); // contig
c = tabread(fp_export, str); // position
c = tabread(fp_export, str2); // strand
m1->pos = bit32_t(atoi(str) - 1)<<1 | (str2[0] == 'F'? 0 : 1);
if (m1->pos&1) { // reverse if necessary
for (i = m1->size - 1; i >= 0; --i)
tmp_seq[m1->size-i-1] = (m1->seq[i] == 0)? 0 : (0xc0 - (m1->seq[i]&0xc0)) | (m1->seq[i]&0x3f);
memcpy(m1->seq, tmp_seq, m1->size);
}
// set m1->info1 and m1->info2
c = tabread(fp_export, str); // mismatches
int n_mismatch = 0;
l = strlen(str);
for (int k = 0; k != l; ++k)
if (isalpha(str[k])) ++n_mismatch;
m1->info1 = n_mismatch << 4 | n_mismatch;
m1->info2 = 10 * n_mismatch;
if (n_mismatch < 2) m1->c[n_mismatch] = 1;
// set mapping qualities
c = tabread(fp_export, str); // SE mapping score
c = atoi(str);
if (c > 255) c = 255;
m1->map_qual = m1->seq[MAX_READLEN-1] = c;
c = tabread(fp_export, str); // PE mapping score
c = atoi(str);
if (c > 255) c = 255;
if (m1->map_qual < c) m1->map_qual = c;
c = tabread(fp_export, str); // target of mate
int is_same_chr = (str[0] == '\0')? 1 : 0;
c = tabread(fp_export, str); // contig of mate?
// set m1->dist
c = tabread(fp_export, str); // offset to mate
int dist = atoi(str);
m1->dist = (dist == 0 || !is_same_chr)? 0 : (dist > 0? dist + read_len[1-cur_read] : dist - m1->size);
// set m1->flag
c = tabread(fp_export, str); // strand of mate
m1->flag = 0;
if (str[0] == 'N') m1->flag |= PAIRFLAG_NOMATCH;
else {
if (!is_same_chr) m1->flag |= PAIRFLAG_DIFFCHR;
else {
if (dist > 0) m1->flag |= 1 << ((m1->pos&1)<<1 | (str[0] == 'F'? 0 : 1));
else m1->flag |= 1 << ((str[0] == 'F'? 0 : 1)<<1 | (m1->pos&1));
if (abs(m1->dist) < max_dist && m1->flag == PAIRFLAG_FR)
m1->flag |= PAIRFLAG_PAIRED;
}
}
c = tabread(fp_export, str); // filtered or not
if (is_non_filtered || str[0] == 'Y') ++mm->n_mapped_reads;
} else while ((c = fgetc(fp_export)) != EOF && c != '\n');
}
algo_sort(mm->n_mapped_reads, mm->mapped_reads);
maqmap_write_header(fp, mm);
gzwrite(fp, mm->mapped_reads, sizeof(maqmap1_t) * mm->n_mapped_reads);
// free
maq_delete_maqmap(mm);
for (i = 0; i != int(hash->size()); ++i) free(name_conv[i]);
free(name_conv);
delete hash;
}
static int export2maq_usage()
{
fprintf(stderr, "\n");
fprintf(stderr, "Usage: maq export2maq [options] \n\n");
fprintf(stderr, "Options: -1 INT length of read1 [0]\n");
fprintf(stderr, " -2 INT length of read2 [0]\n");
fprintf(stderr, " -a INT maximum insert size [250]\n");
fprintf(stderr, " -n keep filtered reads\n\n");
return 1;
}
int maq_export2maq(int argc, char *argv[])
{
FILE *fp_export, *fp_list;
gzFile fp_map;
int c;
while ((c = getopt(argc, argv, "1:2:a:n")) >= 0) {
switch (c) {
case '1': read_len[0] = atoi(optarg); break;
case '2': read_len[1] = atoi(optarg); break;
case 'a': max_dist = atoi(optarg); break;
case 'n': is_non_filtered = 1; break;
}
}
if (optind + 2 >= argc) return export2maq_usage();
fp_export = (strcmp(argv[optind+2], "-") == 0)? stdin : fopen(argv[optind+2], "r");
fp_list = fopen(argv[optind+1], "r");
fp_map = gzopen(argv[optind], "w");
assert(fp_export && fp_list && fp_map);
export2maq_core(fp_list, fp_export, fp_map);
fclose(fp_export); fclose(fp_list); gzclose(fp_map);
return 0;
}
maq-0.7.1/fasta2bfa.c 0000644 0000766 0000024 00000014035 10766735650 012666 0 ustar lh3 staff #include
#include
#include
#include
#include
#include
#include "bfa.h"
#include "main.h"
#include "seq.h"
const int nst_color_space_table[] = { 4, 0, 0, 1, 0, 2, 3, 4, 0, 3, 2, 4, 1, 4, 4, 4};
/*
AA/CC/GG/TT -> 0 (Blue)
AC/CA/GT/TG -> 1 (Green)
AG/GA/CT/TC -> 2 (Orange)
AT/TA/CG/GC -> 3 (Red)
*/
static void ma_fasta2csfa_core(FILE *fpout, FILE *fpin)
{
seq_t seq;
int i, c1, c2, c;
char name[256], comment[4096];
INIT_SEQ(seq);
seq_set_block_size(0x800000); // use longer block size (8M)
while (seq_read_fasta(fpin, &seq, name, comment) >= 0) {
fprintf(fpout, ">%s %s", name, comment);
c1 = nst_nt4_table[(int)seq.s[0]];
for (i = 1; i < seq.l; ++i) {
if ((i-1)%60 == 0) fputc('\n', fpout);
c2 = nst_nt4_table[(int)seq.s[i]];
c = (c1 == 4 || c2 == 4)? 4 : nst_color_space_table[((1<= 0) {
int i, cur_pos, cur_mut;
n_mut = 0; // rewind
fprintf(fpout, ">%s %s\n", name, comment);
// first round: fill mutarray
for (i = 0; i < seq.l; ++i) {
double r = drand48();
if (nst_nt4_table[(int)seq.s[i]] < 4 && r < rate) {
bit8_t type, base;
r = drand48();
base = (nst_nt4_table[(int)seq.s[i]] + (int)(r * 3.0 + 1)) & 3;
if (r < irate/2.0) type = 'I'; // insert
else if (r < irate) type = 'D'; // deletion
else type = 'S'; // substitution
if (n_mut == m_mut) { // enlarge
m_mut += 0x10000;
mutarray = (fakemut_t*)realloc(mutarray, sizeof(fakemut_t) * m_mut);
}
mutarray[n_mut].type = type;
mutarray[n_mut].base = "ACGT"[base];
mutarray[n_mut].pos = i;
++n_mut; // push back
}
}
// second round: output the sequence and mutations
for (i = cur_pos = cur_mut = 0; i < seq.l; ++i) {
if (cur_pos && cur_pos%60 == 0) fputc('\n', fpout);
if (i == mutarray[cur_mut].pos) {
bit8_t type = mutarray[cur_mut].type;
if (type == 'S') {
fputc(mutarray[cur_mut].base, fpout);
fprintf(stderr, "%s\t%d\t%c\t%c\t99\n", name, cur_pos + 1, mutarray[cur_mut].base, seq.s[i]);
++cur_pos;
} else if (type == 'I') {
fputc(mutarray[cur_mut].base, fpout); // insert before the current base
fputc(seq.s[i], fpout);
fprintf(stderr, "%s\t%d\t%c\t-\t99\n", name, cur_pos + 1, mutarray[cur_mut].base);
cur_pos += 2;
} else { // else, it is a deletion.
fprintf(stderr, "%s\t%d\t-\t%c\t99\n", name, cur_pos + 1, seq.s[i]);
}
++cur_mut;
} else {
fputc(seq.s[i], fpout);
++cur_pos;
}
}
fputc('\n', fpout);
}
free(seq.s); free(mutarray);
}
/* fasta2bfa */
static int nst_fasta2bfa1(FILE *fp_fa, FILE *fp_bfa, seq_t *seq)
{
int i, len;
char name[256];
bit64_t s, m;
nst_bfa1_t *bfa1;
len = seq_read_fasta(fp_fa, seq, name, 0);
if (len < 0) return -1; // no sequence
bfa1 = nst_new_bfa1();
bfa1->ori_len = len;
bfa1->len = len>>5;
if (len&0x1f) ++(bfa1->len);
bfa1->seq = (bit64_t*)malloc(sizeof(bit64_t) * bfa1->len);
bfa1->mask = (bit64_t*)malloc(sizeof(bit64_t) * bfa1->len);
bfa1->name = strdup(name);
m = s = 0ull;
for (i = 0; i != len; ++i) {
int tmp = nst_nt4_table[(int)seq->s[i]];
s <<= 2; m <<= 2;
if (tmp < 4) {
s |= tmp; m |= 0x3;
} else m &= ~0x3;
if ((i&0x1f) == 0x1f) { // add to l
bfa1->seq[i>>5] = s;
bfa1->mask[i>>5] = m;
}
}
if (len&0x1f) {
s <<= (32 - (i&0x1f)) << 1; m <<= (32 - (i&0x1f)) << 1;
bfa1->seq[len>>5] = s;
bfa1->mask[len>>5] = m;
}
i = strlen(bfa1->name) + 1;
fwrite(&i, sizeof(int), 1, fp_bfa);
fwrite(bfa1->name, sizeof(char), i, fp_bfa);
fwrite(&bfa1->ori_len, sizeof(int), 1, fp_bfa);
fwrite(&bfa1->len, sizeof(int), 1, fp_bfa);
fwrite(bfa1->seq, sizeof(bit64_t) * bfa1->len, 1, fp_bfa);
fwrite(bfa1->mask, sizeof(bit64_t) * bfa1->len, 1, fp_bfa);
nst_delete_bfa1(bfa1);
return len;
}
int nst_fasta2bfa(FILE *fp_fa, FILE *fp_bfa)
{
seq_t seq;
int n = 0;
INIT_SEQ(seq);
seq_set_block_size(0x800000); // use longer block size (8M)
while (nst_fasta2bfa1(fp_fa, fp_bfa, &seq) >= 0) ++n;
free(seq.s);
return n;
}
int ma_fasta2bfa(int argc, char *argv[])
{
FILE *fp_fa, *fp_bfa;
int n;
fp_fa = fp_bfa = 0;
if (argc <= 2) {
fprintf(stderr, "Usage: maq fasta2bfa \n");
return 1;
}
fp_fa = (strcmp(argv[1], "-") == 0)? stdin : fopen(argv[1], "r");
fp_bfa = (strcmp(argv[2], "-") == 0)? stdin : fopen(argv[2], "w");
if (fp_fa == 0 || fp_bfa == 0) {
fprintf(stderr, "ERROR: fail to open file(s).\n");
return 2;
}
n = nst_fasta2bfa(fp_fa, fp_bfa);
fprintf(stderr, "-- %d sequences have been converted.\n", n);
fclose(fp_fa); fclose(fp_bfa);
return 0;
}
int ma_fasta2csfa(int argc, char *argv[])
{
FILE *fp_fa;
if (argc < 2) {
fprintf(stderr, "Usage: maq fasta2csfa \n");
return 1;
}
fp_fa = (strcmp(argv[1], "-") == 0)? stdin : fopen(argv[1], "r");
assert(fp_fa);
ma_fasta2csfa_core(stdout, fp_fa);
fclose(fp_fa);
return 0;
}
static int fakemut_usage()
{
fprintf(stderr, "Usage: maq fakemut [-r 0.001] [-R 0.1] \n");
return 1;
}
int ma_fakemut(int argc, char *argv[])
{
FILE *fp_fa;
double mutrate = 0.001;
double indelrate = 0.1;
int c;
/* mutrate is the overall mutation rate
mutrate*indelrate is the indel rate
mutrate*(1-indelrate) is the substitution rate
*/
while ((c = getopt(argc, argv, "r:R:")) >= 0) {
switch (c) {
case 'r': mutrate = atof(optarg); break;
case 'R': indelrate = atof(optarg); break;
}
}
if (optind == argc) return fakemut_usage();
fp_fa = (strcmp(argv[optind], "-") == 0)? stdin : fopen(argv[optind], "r");
assert(fp_fa);
ma_fakemut_core(stdout, fp_fa, mutrate, indelrate);
fclose(fp_fa);
return 0;
}
maq-0.7.1/fastq2bfq.c 0000644 0000766 0000024 00000006034 10766735650 012726 0 ustar lh3 staff #include