This file was obtained by applying Clone Digger tool to the source code of the Bio Python project.
The fragments of code, which are cited below, are not necessary clones. 
Even more so the presense of this code in the project does not lead to defects in it.

The code below falls under the following license:

                 Biopython License Agreement

Permission to use, copy, modify, and distribute this software and its
documentation with or without modifications and for any purpose and
without fee is hereby granted, provided that any copyright notices
appear in all copies and that both those copyright notices and this
permission notice appear in supporting documentation, and that the
names of the contributors or copyright holders not be used in
advertising or publicity pertaining to distribution of the software
without specific prior permission.

THE CONTRIBUTORS AND COPYRIGHT HOLDERS OF THIS SOFTWARE DISCLAIM ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE
CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT
OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOFTWARE.

Source files:
/home/peter/clone_digger/biopython-1.44/Bio/utils.py,
/home/peter/clone_digger/biopython-1.44/Bio/Std.py,
/home/peter/clone_digger/biopython-1.44/Bio/triefind.py,
/home/peter/clone_digger/biopython-1.44/Bio/listfns.py,
/home/peter/clone_digger/biopython-1.44/Bio/biblio.py,
/home/peter/clone_digger/biopython-1.44/Bio/EZRetrieve.py,
/home/peter/clone_digger/biopython-1.44/Bio/Decode.py,
/home/peter/clone_digger/biopython-1.44/Bio/NetCatch.py,
/home/peter/clone_digger/biopython-1.44/Bio/HotRand.py,
/home/peter/clone_digger/biopython-1.44/Bio/distance.py,
/home/peter/clone_digger/biopython-1.44/Bio/MaxEntropy.py,
/home/peter/clone_digger/biopython-1.44/Bio/PropertyManager.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqRecord.py,
/home/peter/clone_digger/biopython-1.44/Bio/kNN.py,
/home/peter/clone_digger/biopython-1.44/Bio/ParserSupport.py,
/home/peter/clone_digger/biopython-1.44/Bio/FormatIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/Seq.py,
/home/peter/clone_digger/biopython-1.44/Bio/LogisticRegression.py,
/home/peter/clone_digger/biopython-1.44/Bio/MarkovModel.py,
/home/peter/clone_digger/biopython-1.44/Bio/File.py,
/home/peter/clone_digger/biopython-1.44/Bio/stringfns.py,
/home/peter/clone_digger/biopython-1.44/Bio/Search.py,
/home/peter/clone_digger/biopython-1.44/Bio/StdHandler.py,
/home/peter/clone_digger/biopython-1.44/Bio/NaiveBayes.py,
/home/peter/clone_digger/biopython-1.44/Bio/DBXRef.py,
/home/peter/clone_digger/biopython-1.44/Bio/Index.py,
/home/peter/clone_digger/biopython-1.44/Bio/Writer.py,
/home/peter/clone_digger/biopython-1.44/Bio/lcc.py,
/home/peter/clone_digger/biopython-1.44/Bio/DocSQL.py,
/home/peter/clone_digger/biopython-1.44/Bio/MarkupEditor.py,
/home/peter/clone_digger/biopython-1.44/Bio/Translate.py,
/home/peter/clone_digger/biopython-1.44/Bio/crc.py,
/home/peter/clone_digger/biopython-1.44/Bio/mathfns.py,
/home/peter/clone_digger/biopython-1.44/Bio/PubMed.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqFeature.py,
/home/peter/clone_digger/biopython-1.44/Bio/pairwise2.py,
/home/peter/clone_digger/biopython-1.44/Bio/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/SGMLExtractor.py,
/home/peter/clone_digger/biopython-1.44/Bio/FilteredReader.py,
/home/peter/clone_digger/biopython-1.44/Bio/Transcribe.py,
/home/peter/clone_digger/biopython-1.44/Bio/Align/FormatConvert.py,
/home/peter/clone_digger/biopython-1.44/Bio/Align/Generic.py,
/home/peter/clone_digger/biopython-1.44/Bio/Align/AlignInfo.py,
/home/peter/clone_digger/biopython-1.44/Bio/Align/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Clustalw/clustal_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/Clustalw/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/FDist/Async.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/FDist/Utils.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/FDist/Controller.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/FDist/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/Async/Local.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/Async/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/GenePop/Utils.py,
/home/peter/clone_digger/biopython-1.44/Bio/PopGen/GenePop/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/fasta.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/genbank.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/hmmpfam.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/transfac.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/blocks.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/blast/wublast.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/blast/ncbiblast.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/blast/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/swissprot/speclist.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/swissprot/sprot38.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/swissprot/sprot40.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/swissprot/ipi.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/swissprot/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/embl/embl65.py,
/home/peter/clone_digger/biopython-1.44/Bio/expressions/embl/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/IntelliGenetics/intelligenetics_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/IntelliGenetics/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/IntelliGenetics/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Graphics/BasicChromosome.py,
/home/peter/clone_digger/biopython-1.44/Bio/Graphics/Distribution.py,
/home/peter/clone_digger/biopython-1.44/Bio/Graphics/Comparative.py,
/home/peter/clone_digger/biopython-1.44/Bio/Graphics/DisplayRepresentation.py,
/home/peter/clone_digger/biopython-1.44/Bio/Graphics/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Encodings/IUPACEncoding.py,
/home/peter/clone_digger/biopython-1.44/Bio/Encodings/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/UniGene/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Application/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/SCOP/FileIndex.py,
/home/peter/clone_digger/biopython-1.44/Bio/SCOP/Raf.py,
/home/peter/clone_digger/biopython-1.44/Bio/SCOP/Dom.py,
/home/peter/clone_digger/biopython-1.44/Bio/SCOP/Residues.py,
/home/peter/clone_digger/biopython-1.44/Bio/SCOP/Cla.py,
/home/peter/clone_digger/biopython-1.44/Bio/SCOP/Des.py,
/home/peter/clone_digger/biopython-1.44/Bio/SCOP/Hie.py,
/home/peter/clone_digger/biopython-1.44/Bio/SCOP/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Geo/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/Geo/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/StructureBuilder.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Dice.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/AbstractPropertyMap.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/NACCESS.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Entity.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/parse_pdb_header.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/PDBList.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/PDBExceptions.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Polypeptide.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Residue.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/PSEA.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/HSExposure.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/FragmentMapper.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/NeighborSearch.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/PDBIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Structure.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/PDBParser.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Vector.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/DSSP.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Selection.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Superimposer.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/ResidueDepth.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/MMCIF2Dict.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Atom.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Chain.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/MMCIFParser.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/Model.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/StructureAlignment.py,
/home/peter/clone_digger/biopython-1.44/Bio/PDB/mmCIF/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/SubsMat/MatrixInfo.py,
/home/peter/clone_digger/biopython-1.44/Bio/SubsMat/FreqTable.py,
/home/peter/clone_digger/biopython-1.44/Bio/SubsMat/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/ClustalIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/Interfaces.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/StockholmIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/FASTA.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/FastaIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/PhylipIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/InsdcIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/SwissIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/generic.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/NexusIO.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqIO/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Prosite/Pattern.py,
/home/peter/clone_digger/biopython-1.44/Bio/Prosite/Prodoc.py,
/home/peter/clone_digger/biopython-1.44/Bio/Prosite/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/KEGG/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/KEGG/Compound/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/KEGG/Enzyme/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/KEGG/Map/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/Training.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/StopTraining.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/Gene/Pattern.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/Gene/Motif.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/Gene/Signature.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/Gene/Schema.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/Gene/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/BackPropagation/Layer.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/BackPropagation/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/NeuralNetwork/BackPropagation/Network.py,
/home/peter/clone_digger/biopython-1.44/Bio/InterPro/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/CAPS/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Gobase/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/Config.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/Datatypes.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/ThinClient.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/Mixins.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/ReseekFile.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/parse.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/HistoryClient.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/sourcegen.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/dtd2py.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/DBIdsClient.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/MultiDict.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/POM.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/setup.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/DTDs/ePost_020511.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/DTDs/eSummary_020511.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/DTDs/eLink_020511.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/DTDs/LinkOut.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/DTDs/eInfo_020511.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/DTDs/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/EUtils/DTDs/eSearch_020511.py,
/home/peter/clone_digger/biopython-1.44/Bio/SVDSuperimposer/SVDSuperimposer.py,
/home/peter/clone_digger/biopython-1.44/Bio/SVDSuperimposer/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/NMR/NOEtools.py,
/home/peter/clone_digger/biopython-1.44/Bio/NMR/xpktools.py,
/home/peter/clone_digger/biopython-1.44/Bio/NMR/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/NBRF/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/NBRF/ValSeq.py,
/home/peter/clone_digger/biopython-1.44/Bio/NBRF/nbrf_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/NBRF/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/formatdefs/sequence.py,
/home/peter/clone_digger/biopython-1.44/Bio/formatdefs/search.py,
/home/peter/clone_digger/biopython-1.44/Bio/formatdefs/genbank.py,
/home/peter/clone_digger/biopython-1.44/Bio/formatdefs/swissprot.py,
/home/peter/clone_digger/biopython-1.44/Bio/formatdefs/embl.py,
/home/peter/clone_digger/biopython-1.44/Bio/formatdefs/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/config/Registry.py,
/home/peter/clone_digger/biopython-1.44/Bio/config/SeqDBRegistry.py,
/home/peter/clone_digger/biopython-1.44/Bio/config/FormatRegistry.py,
/home/peter/clone_digger/biopython-1.44/Bio/config/DBRegistry.py,
/home/peter/clone_digger/biopython-1.44/Bio/config/_support.py,
/home/peter/clone_digger/biopython-1.44/Bio/config/_stanzaformat.py,
/home/peter/clone_digger/biopython-1.44/Bio/config/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/WWW/NCBI.py,
/home/peter/clone_digger/biopython-1.44/Bio/WWW/InterPro.py,
/home/peter/clone_digger/biopython-1.44/Bio/WWW/SCOP.py,
/home/peter/clone_digger/biopython-1.44/Bio/WWW/ExPASy.py,
/home/peter/clone_digger/biopython-1.44/Bio/WWW/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Restriction/PrintFormat.py,
/home/peter/clone_digger/biopython-1.44/Bio/Restriction/Restriction_Dictionary.py,
/home/peter/clone_digger/biopython-1.44/Bio/Restriction/Restriction.py,
/home/peter/clone_digger/biopython-1.44/Bio/Restriction/RanaConfig.py,
/home/peter/clone_digger/biopython-1.44/Bio/Restriction/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Restriction/_Update/Update.py,
/home/peter/clone_digger/biopython-1.44/Bio/Restriction/_Update/RestrictionCompiler.py,
/home/peter/clone_digger/biopython-1.44/Bio/Restriction/_Update/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Parsers/spark.py,
/home/peter/clone_digger/biopython-1.44/Bio/Parsers/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Cluster/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Data/IUPACData.py,
/home/peter/clone_digger/biopython-1.44/Bio/Data/CodonTable.py,
/home/peter/clone_digger/biopython-1.44/Bio/Data/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/CDD/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/CDD/cdd_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/CDD/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Nexus/Nexus.py,
/home/peter/clone_digger/biopython-1.44/Bio/Nexus/Nodes.py,
/home/peter/clone_digger/biopython-1.44/Bio/Nexus/Trees.py,
/home/peter/clone_digger/biopython-1.44/Bio/Nexus/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Evolver.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Organism.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Crossover/Uniform.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Crossover/General.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Crossover/TwoPoint.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Crossover/GeneralPoint.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Crossover/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Crossover/Point.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Repair/Stabilizing.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Repair/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Selection/Abstract.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Selection/Tournament.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Selection/RouletteWheel.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Selection/Diversity.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Selection/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Mutation/General.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Mutation/Simple.py,
/home/peter/clone_digger/biopython-1.44/Bio/GA/Mutation/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Blast/NCBIStandalone.py,
/home/peter/clone_digger/biopython-1.44/Bio/Blast/NCBIXML.py,
/home/peter/clone_digger/biopython-1.44/Bio/Blast/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/Blast/NCBIWWW.py,
/home/peter/clone_digger/biopython-1.44/Bio/Blast/ParseBlastTable.py,
/home/peter/clone_digger/biopython-1.44/Bio/Blast/Applications.py,
/home/peter/clone_digger/biopython-1.44/Bio/Blast/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Crystal/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Sequencing/Phd.py,
/home/peter/clone_digger/biopython-1.44/Bio/Sequencing/Ace.py,
/home/peter/clone_digger/biopython-1.44/Bio/Sequencing/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/SwissProt/SProt.py,
/home/peter/clone_digger/biopython-1.44/Bio/SwissProt/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/SwissProt/KeyWList.py,
/home/peter/clone_digger/biopython-1.44/Bio/Enzyme/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/builders/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/builders/Search/search.py,
/home/peter/clone_digger/biopython-1.44/Bio/builders/Search/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/builders/SeqRecord/sequence.py,
/home/peter/clone_digger/biopython-1.44/Bio/builders/SeqRecord/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Statistics/lowess.py,
/home/peter/clone_digger/biopython-1.44/Bio/Statistics/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/KDTree/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/KDTree/KDTree.py,
/home/peter/clone_digger/biopython-1.44/Bio/KDTree/CKDTree.py,
/home/peter/clone_digger/biopython-1.44/Bio/Compass/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/MetaTool/metatool_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/MetaTool/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/MetaTool/Input.py,
/home/peter/clone_digger/biopython-1.44/Bio/MetaTool/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/LocusLink/locus_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/LocusLink/web_parse.py,
/home/peter/clone_digger/biopython-1.44/Bio/LocusLink/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Ais/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/fasta.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/genbank.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/interpro.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/prosite.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/_support.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/swissprot.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/prodoc.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/embl.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/pdb.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/dbdefs/medline.py,
/home/peter/clone_digger/biopython-1.44/Bio/HMM/DynamicProgramming.py,
/home/peter/clone_digger/biopython-1.44/Bio/HMM/Utilities.py,
/home/peter/clone_digger/biopython-1.44/Bio/HMM/Trainer.py,
/home/peter/clone_digger/biopython-1.44/Bio/HMM/MarkovModel.py,
/home/peter/clone_digger/biopython-1.44/Bio/HMM/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/AlignAce/AlignAceStandalone.py,
/home/peter/clone_digger/biopython-1.44/Bio/AlignAce/Motif.py,
/home/peter/clone_digger/biopython-1.44/Bio/AlignAce/Parser.py,
/home/peter/clone_digger/biopython-1.44/Bio/AlignAce/CompareAceStandalone.py,
/home/peter/clone_digger/biopython-1.44/Bio/AlignAce/Scanner.py,
/home/peter/clone_digger/biopython-1.44/Bio/AlignAce/Applications.py,
/home/peter/clone_digger/biopython-1.44/Bio/AlignAce/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/ECell/ecell_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/ECell/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/ECell/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/writers/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/writers/SeqRecord/empty.py,
/home/peter/clone_digger/biopython-1.44/Bio/writers/SeqRecord/fasta.py,
/home/peter/clone_digger/biopython-1.44/Bio/writers/SeqRecord/embl.py,
/home/peter/clone_digger/biopython-1.44/Bio/writers/SeqRecord/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Fasta/FastaAlign.py,
/home/peter/clone_digger/biopython-1.44/Bio/Fasta/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Rebase/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Mindy/Location.py,
/home/peter/clone_digger/biopython-1.44/Bio/Mindy/SimpleSeqRecord.py,
/home/peter/clone_digger/biopython-1.44/Bio/Mindy/BerkeleyDB.py,
/home/peter/clone_digger/biopython-1.44/Bio/Mindy/BaseDB.py,
/home/peter/clone_digger/biopython-1.44/Bio/Mindy/compression.py,
/home/peter/clone_digger/biopython-1.44/Bio/Mindy/XPath.py,
/home/peter/clone_digger/biopython-1.44/Bio/Mindy/FlatDB.py,
/home/peter/clone_digger/biopython-1.44/Bio/Mindy/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/ProtParam.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/CodonUsageIndices.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/CheckSum.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/ProtParamData.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/lcc.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/IsoelectricPoint.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/MeltingTemp.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/SeqUtils/CodonUsage.py,
/home/peter/clone_digger/biopython-1.44/Bio/Saf/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/Saf/saf_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/Saf/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/MultiProc/Scheduler.py,
/home/peter/clone_digger/biopython-1.44/Bio/MultiProc/copen.py,
/home/peter/clone_digger/biopython-1.44/Bio/MultiProc/Task.py,
/home/peter/clone_digger/biopython-1.44/Bio/MultiProc/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GenBank/utils.py,
/home/peter/clone_digger/biopython-1.44/Bio/GenBank/Record.py,
/home/peter/clone_digger/biopython-1.44/Bio/GenBank/Scanner.py,
/home/peter/clone_digger/biopython-1.44/Bio/GenBank/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GenBank/LocationParser.py,
/home/peter/clone_digger/biopython-1.44/Bio/Alphabet/IUPAC.py,
/home/peter/clone_digger/biopython-1.44/Bio/Alphabet/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Alphabet/Reduced.py,
/home/peter/clone_digger/biopython-1.44/Bio/Wise/dnal.py,
/home/peter/clone_digger/biopython-1.44/Bio/Wise/psw.py,
/home/peter/clone_digger/biopython-1.44/Bio/Wise/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Pathway/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Pathway/Rep/HashSet.py,
/home/peter/clone_digger/biopython-1.44/Bio/Pathway/Rep/Graph.py,
/home/peter/clone_digger/biopython-1.44/Bio/Pathway/Rep/MultiGraph.py,
/home/peter/clone_digger/biopython-1.44/Bio/Pathway/Rep/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Medline/nlmmedline_031101_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/Medline/NLMMedlineXML.py,
/home/peter/clone_digger/biopython-1.44/Bio/Medline/nlmmedline_001211_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/Medline/nlmmedline_011101_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/Medline/nlmmedline_010319_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/Medline/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Affy/CelFile.py,
/home/peter/clone_digger/biopython-1.44/Bio/Affy/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/MEME/Motif.py,
/home/peter/clone_digger/biopython-1.44/Bio/MEME/Parser.py,
/home/peter/clone_digger/biopython-1.44/Bio/MEME/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/Emboss/primer3_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/Emboss/Primer.py,
/home/peter/clone_digger/biopython-1.44/Bio/Emboss/Applications.py,
/home/peter/clone_digger/biopython-1.44/Bio/Emboss/primersearch_format.py,
/home/peter/clone_digger/biopython-1.44/Bio/Emboss/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GFF/binning.py,
/home/peter/clone_digger/biopython-1.44/Bio/GFF/GenericTools.py,
/home/peter/clone_digger/biopython-1.44/Bio/GFF/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/GFF/easy.py,
/home/peter/clone_digger/biopython-1.44/Bio/Ndb/__init__.py,
/home/peter/clone_digger/biopython-1.44/Bio/FSSP/fssp_rec.py,
/home/peter/clone_digger/biopython-1.44/Bio/FSSP/FSSPTools.py,
/home/peter/clone_digger/biopython-1.44/Bio/FSSP/__init__.py

Clones detected: 1695

Parameters
clustering_threshold = 10
distance_threshold = 5
length_threshold = 30
hashing_depth = 1
clusterize_using_hash = False

Time elapsed
Construction of AST : 46.16 seconds
Building statement hash : 0.48 seconds
Building patterns : 2097.18 seconds
Marking similar statements : 3935.12 seconds
Finding similar sequences of statements : 23.38 seconds
Refining candidates : 1478.60 seconds
Total time: 7580.93

Clone # 1
Anti-unification distance between two trees = 4
Total size of two trees = 472
Total length of sequences = 130
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Medline/nlmmedline_011101_format.py"
The first line is 133
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Medline/nlmmedline_010319_format.py"
The first line is 128
group_elem("MeshHeadingList",  Rep1(MeshHeading)) group_elem("MeshHeadingList",  Rep1(MeshHeading))
simple_elem("MedlinePgn") simple_elem("MedlinePgn")
simple_elem("EndPage") simple_elem("EndPage")
simple_elem("StartPage") simple_elem("StartPage")
group_elem("Pagination",
Alt(StartPage  +  Opt(EndPage)  +  Opt(MedlinePgn),  MedlinePgn))
group_elem("Pagination",
Alt(StartPage  +  Opt(EndPage)  +  Opt(MedlinePgn),  MedlinePgn))
simple_elem("Affiliation") simple_elem("Affiliation")
group_elem("Author",  author_name  +  Opt(Affiliation)) group_elem("Author",  author_name  +  Opt(Affiliation))
group_elem("AuthorList",  Rep1(Author),  "CompleteYN") group_elem("AuthorList",  Rep1(Author),  "CompleteYN")
simple_elem("Language") simple_elem("Language")
simple_elem("PublicationType") simple_elem("PublicationType")
group_elem("PublicationTypeList",  Rep1(PublicationType)) group_elem("PublicationTypeList",  Rep1(PublicationType))
simple_elem("Title")            #  These  were  moved  up,  so  that  the  definitions simple_elem("Title")            #  These  were  moved  up,  so  that  the  definitions
simple_elem("Volume")          #  will  be  before  Book. simple_elem("Volume")          #  will  be  before  Book.
simple_elem("VernacularTitle") simple_elem("VernacularTitle")
simple_elem("CollectionTitle") simple_elem("CollectionTitle")
simple_elem("ArticleTitle") simple_elem("ArticleTitle")
simple_elem("Publisher") simple_elem("Publisher")
group_elem("PubDate",  pub_date) group_elem("PubDate",  pub_date)
group_elem("Book",  PubDate  +  Publisher  +  Title  +
Opt(AuthorList)  +  Opt(CollectionTitle)  +  Opt(Volume))
group_elem("Book",  PubDate  +  Publisher  +  Title  +
Opt(AuthorList)  +  Opt(CollectionTitle)  +  Opt(Volume))
simple_elem("Country") simple_elem("Country")
simple_elem("MedlineTA") simple_elem("MedlineTA")
simple_elem("MedlineCode") simple_elem("MedlineCode")
group_elem("MedlineJournalInfo",
Opt(Country)  +  MedlineTA  +  Opt(MedlineCode)  +  Opt(NlmUniqueID))
group_elem("MedlineJournalInfo",
Opt(Country)  +  MedlineTA  +  Opt(MedlineCode)  +  Opt(NlmUniqueID))
simple_elem("DateOfElectronicPublication") simple_elem("DateOfElectronicPublication")
simple_elem("ISOAbbreviation") simple_elem("ISOAbbreviation")
simple_elem("Coden") simple_elem("Coden")
simple_elem("Issue") simple_elem("Issue")
group_elem("JournalIssue",  Opt(Volume)  +  Opt(Issue)  +  PubDate) group_elem("JournalIssue",  Opt(Volume)  +  Opt(Issue)  +  PubDate)
simple_elem("ISSN") simple_elem("ISSN")
group_elem("Journal",
Opt(ISSN)  +  \
JournalIssue  +  \
Opt(Coden)  +  \
Opt(Title)  +  \
Opt(ISOAbbreviation)
group_elem("Journal",
Opt(ISSN)  +  \
JournalIssue  +  \
Opt(Coden)  +  \
Opt(Title)  +  \
Opt(ISOAbbreviation)
simple_elem("GrantID") simple_elem("GrantID")
simple_elem("Acronym") simple_elem("Acronym")
simple_elem("Agency") simple_elem("Agency")
group_elem("Grant",  Opt(GrantID)  +  Opt(Acronym)  +  Opt(Agency)) group_elem("Grant",  Opt(GrantID)  +  Opt(Acronym)  +  Opt(Agency))
group_elem("GrantList",  Rep1(Grant),  "CompleteYN") group_elem("GrantList",  Rep1(Grant),  "CompleteYN")
simple_elem("AccessionNumber") simple_elem("AccessionNumber")
group_elem("AccessionNumberList",  Rep1(AccessionNumber)) group_elem("AccessionNumberList",  Rep1(AccessionNumber))
simple_elem("DataBankName") simple_elem("DataBankName")
group_elem("DataBank",  DataBankName  +  Opt(AccessionNumberList)) group_elem("DataBank",  DataBankName  +  Opt(AccessionNumberList))
group_elem("DataBankList",  Rep1(DataBank),  "CompleteYN") group_elem("DataBankList",  Rep1(DataBank),  "CompleteYN")
group_elem("Article",
Alt(Journal,  Book)  +  \
ArticleTitle  +  \
Pagination  +  \
Opt(Abstract)  +  \
Opt(Affiliation)  +  \
Opt(AuthorList)  +  \
Rep1(Language)  +  \
Opt(DataBankList)  +  \
Opt(GrantList)  +  \
PublicationTypeList  +  \
Opt(VernacularTitle)  +  \
Opt(DateOfElectronicPublication)
group_elem("Article",
Alt(Journal,  Book)  +  \
ArticleTitle  +  \
Pagination  +  \
Opt(Abstract)  +  \
Opt(Affiliation)  +  \
Opt(AuthorList)  +  \
Rep1(Language)  +  \
Opt(DataBankList)  +  \
Opt(GrantList)  +  \
PublicationTypeList  +  \
Opt(VernacularTitle)  +  \
Opt(DateOfElectronicPublication)
group_elem("NCBIArticle",  PMID  +  Article  +  Opt(MedlineJournalInfo)) group_elem("NCBIArticle",  PMID  +  Article  +  Opt(MedlineJournalInfo))
simple_elem("MedlineID") simple_elem("MedlineID")
simple_elem("Note") simple_elem("Note")
simple_elem("RefSource") simple_elem("RefSource")
Ref_template  =  RefSource  +  Opt(Alt(PMID,  MedlineID))  +  Opt(Note) Ref_template  =  RefSource  +  Opt(MedlineID)  +  Opt(Note)
group_elem("OriginalReportIn",  Ref_template) group_elem("OriginalReportIn",  Ref_template)
group_elem("SummaryForPatientsIn",  Ref_template) group_elem("SummaryForPatientsIn",  Ref_template)
group_elem("CommentOn",  Ref_template) group_elem("CommentOn",  Ref_template)
group_elem("CommentIn",  Ref_template) group_elem("CommentIn",  Ref_template)
group_elem("ErratumIn",  Ref_template) group_elem("ErratumIn",  Ref_template)
group_elem("RepublishedFrom",  Ref_template) group_elem("RepublishedFrom",  Ref_template)
group_elem("RepublishedIn",  Ref_template) group_elem("RepublishedIn",  Ref_template)
group_elem("RetractionOf",  Ref_template) group_elem("RetractionOf",  Ref_template)
group_elem("RetractionIn",  Ref_template) group_elem("RetractionIn",  Ref_template)
group_elem("UpdateIn",  Ref_template) group_elem("UpdateIn",  Ref_template)
group_elem("UpdateOf",  Ref_template) group_elem("UpdateOf",  Ref_template)
group_elem("CommentsCorrections",
Rep(CommentOn)  +  Rep(CommentIn)  +  \
Rep(ErratumIn)  +  \
Rep(RepublishedFrom)  +  Rep(RepublishedIn)  +  \
Rep(RetractionOf)  +  Rep(RetractionIn)  +  \
Rep(UpdateIn)  +  Rep(UpdateOf)  +  \
Rep(SummaryForPatientsIn)  +  Rep(OriginalReportIn)
group_elem("CommentsCorrections",
Rep(CommentOn)  +  Rep(CommentIn)  +  \
Rep(ErratumIn)  +  \
Rep(RepublishedFrom)  +  Rep(RepublishedIn)  +  \
Rep(RetractionOf)  +  Rep(RetractionIn)  +  \
Rep(UpdateIn)  +  Rep(UpdateOf)  +  \
Rep(SummaryForPatientsIn)  +  Rep(OriginalReportIn)
simple_elem("NumberOfReferences") simple_elem("NumberOfReferences")
group_elem("PersonalNameSubject",  personal_name) group_elem("PersonalNameSubject",  personal_name)
group_elem("PersonalNameSubjectList",  Rep1(PersonalNameSubject)) group_elem("PersonalNameSubjectList",  Rep1(PersonalNameSubject))
simple_elem("GeneSymbol") simple_elem("GeneSymbol")
group_elem("GeneSymbolList",  Rep1(GeneSymbol)) group_elem("GeneSymbolList",  Rep1(GeneSymbol))
simple_elem("NameOfSubstance") simple_elem("NameOfSubstance")
simple_elem("CASRegistryNumber") simple_elem("CASRegistryNumber")


Clone # 13
Anti-unification distance between two trees = 4
Total size of two trees = 158
Total length of sequences = 4
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Gobase/__init__.py"
The first line is 133
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Rebase/__init__.py"
The first line is 78
class  Iterator:
def  __init__(self,  handle,  parser=None):
if  type(handle)  is  not  FileType  and  type(handle)  is  not  InstanceType:
raise  ValueError,  "I  expected  a  file  handle  or  file-like  object"
self._uhandle  =  SGMLHandle(  File.UndoHandle(  handle  )  )
self._parser  =  parser
def  next(self):
lines  =  []
first_tag  =  'Recognition  Sequence'
while  1:
line  =  self._uhandle.readline()
if  not  line:
break
if  line[:len(  first_tag  )]  ==  'first_tag':
self._uhandle.saveline(line)
break
if  not  line:
return  None
if  self._parser  is  not  None:
return  self._parser.parse(File.StringHandle(data))
return  data
def  __iter__(self):
return  iter(self.next,  None)
class  Iterator:
def  __init__(self,  handle,  parser=None):
if  type(handle)  is  not  FileType  and  type(handle)  is  not  InstanceType:
raise  ValueError,  "I  expected  a  file  handle  or  file-like  object"
self._uhandle  =  SGMLHandle(  File.UndoHandle(  handle  )  )
self._parser  =  parser
def  next(self):
lines  =  []
first_tag  =  'Recognition  Sequence'
while  1:
line  =  self._uhandle.readline()
if  not  line:
break
if  line[:len(  first_tag  )]  ==  'first_tag':
self._uhandle.saveline(line)
break
if  not  line:
return  None
if  self._parser  is  not  None:
return  self._parser.parse(File.StringHandle(data))
return  data
def  __iter__(self):
return  iter(self.next,  None)
class  Dictionary:
__filename_key  =  '__filename'
def  __init__(self,  indexname,  parser=None):
self._index  =  Index.Index(indexname)
self._handle  =  open(self._index[Dictionary.__filename_key])
self._parser  =  parser
def  __len__(self):
return  len(self._index)
def  __getitem__(self,  key):
start,  len  =  self._index[key]
self._handle.seek(start)
data  =  self._handle.read(len)
if  self._parser  is  not  None:
return  self._parser.parse(File.StringHandle(data))
return  data
def  __getattr__(self,  name):
return  getattr(self._index,  name)
class  Dictionary:
__filename_key  =  '__filename'
def  __init__(self,  indexname,  parser=None):
self._index  =  Index.Index(indexname)
self._handle  =  open(self._index[Dictionary.__filename_key])
self._parser  =  parser
def  __len__(self):
return  len(self._index)
def  __getitem__(self,  key):
start,  len  =  self._index[key]
self._handle.seek(start)
data  =  self._handle.read(len)
if  self._parser  is  not  None:
return  self._parser.parse(File.StringHandle(data))
return  data
def  __getattr__(self,  name):
return  getattr(self._index,  name)


Clone # 20
Anti-unification distance between two trees = 3
Total size of two trees = 142
Total length of sequences = 22
Source file "/home/peter/clone_digger/biopython-1.44/Bio/SwissProt/SProt.py"
The first line is 224
Source file "/home/peter/clone_digger/biopython-1.44/Bio/PubMed.py"
The first line is 39
def  __init__(self,  delay=5.0,  parser=None):
self.parser  =  parser
self.limiter  =  RequestLimiter(delay)
def  __init__(self,  delay=5.0,  parser=None):
self.parser  =  parser
self.limiter  =  RequestLimiter(delay)
def  __len__(self):
raise  NotImplementedError,  "SwissProt  contains  lots  of  entries"
def  __len__(self):
raise  NotImplementedError,  "PubMed  contains  lots  of  entries"
def  clear(self):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  clear(self):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  __setitem__(self,  key,  item):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  __setitem__(self,  key,  item):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  update(self):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  update(self):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  copy(self):
raise  NotImplementedError,  "You  don't  need  to  do  this..."
def  copy(self):
raise  NotImplementedError,  "You  don't  need  to  do  this..."
def  keys(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  keys(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  items(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  items(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  values(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  values(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  has_key(self,  id):
try:
self[id]
except  KeyError:
return  0
return  1
def  has_key(self,  id):
try:
self[id]
except  KeyError:
return  0
return  1
def  get(self,  id,  failobj=None):
try:
return  self[id]
except  KeyError:
return  failobj
raise  "How  did  I  get  here?"
def  get(self,  id,  failobj=None):
try:
return  self[id]
except  KeyError:
return  failobj
raise  "How  did  I  get  here?"


Clone # 24
Anti-unification distance between two trees = 0
Total size of two trees = 120
Total length of sequences = 12
Source file "/home/peter/clone_digger/biopython-1.44/Bio/MEME/Parser.py"
The first line is 318
Source file "/home/peter/clone_digger/biopython-1.44/Bio/MEME/Parser.py"
The first line is 267
ls  =  line.split() ls  =  line.split()
self.data._add_diagram_for_sequence(ls[1],  self._current_seq) self.data._add_diagram_for_sequence(ls[1],  self._current_seq)
ds  =  ls[1].split('_') ds  =  ls[1].split('_')
i  =  0 i  =  0
start  =  0 start  =  0
for  i  in  range(0,len(ds)):
if  ds[i].find('[')  !=  -1  or  ds[i].find('<')  !=  -1:
inst  =  Motif.Instance()
inst._seqname  (self._current_seq)
inst._start  (start)
r  =  re.compile('\d+')
mn  =  r.findall(ds[i])[0]
if  ds[i].find('-')  !=  -1:
inst.strand  =  '-'
inst.strand  =  '+'
motif  =  self.data.get_motif_by_name(mn)
motif.add_instance(inst)
start  +=  motif.length
start  +=  int(ds[i])
for  i  in  range(0,len(ds)):
if  ds[i].find('[')  !=  -1  or  ds[i].find('<')  !=  -1:
inst  =  Motif.Instance()
inst._seqname  (self._current_seq)
inst._start  (start)
r  =  re.compile('\d+')
mn  =  r.findall(ds[i])[0]
if  ds[i].find('-')  !=  -1:
inst.strand  =  '-'
inst.strand  =  '+'
motif  =  self.data.get_motif_by_name(mn)
motif.add_instance(inst)
start  +=  motif.length
start  +=  int(ds[i])


Clone # 25
Anti-unification distance between two trees = 3
Total size of two trees = 120
Total length of sequences = 20
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Restriction/Restriction.py"
The first line is 1164
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Restriction/Restriction.py"
The first line is 927
def  catalyse(self,  dna,  linear=True)  :
r  =  self.search(dna,  linear)
d  =  self.dna
if  not  r  :  return  d[1:],
fragments  =  []
length  =  len(r)-1
if  d.is_linear()  :
fragments.append(d[1:r[0]])
if  length  :
fragments  +=  [d[r[x]:r[x+1]]  for  x  in  xrange(length)]
fragments.append(d[r[-1]:])
fragments.append(d[r[-1]:]+d[1:r[0]])
if  not  length:
return  tuple(fragments)
fragments  +=  [d[r[x]:r[x+1]]  for  x  in  xrange(length)]
return  tuple(fragments)
def  catalyse(self,  dna,  linear=True)  :
r  =  self.search(dna,  linear)
d  =  self.dna
if  not  r  :  return  d[1:],
fragments  =  []
length  =  len(r)-1
if  d.is_linear()  :
fragments.append(d[1:r[0]])
if  length  :
fragments  +=  [d[r[x]:r[x+1]]  for  x  in  xrange(length)]
fragments.append(d[r[-1]:])
fragments.append(d[r[-1]:]+d[1:r[0]])
if  not  length:
return  tuple(fragments)
fragments  +=  [d[r[x]:r[x+1]]  for  x  in  xrange(length)]
return  tuple(fragments)
catalyze  =  catalyse  =  classmethod(catalyse) catalyze  =  catalyse  =  classmethod(catalyse)
def  is_blunt(self)  :
return  False
def  is_blunt(self)  :
return  True
is_blunt  =  classmethod(is_blunt) is_blunt  =  classmethod(is_blunt)
def  is_5overhang(self)  :
return  False
def  is_5overhang(self)  :
return  False
is_5overhang  =  classmethod(is_5overhang) is_5overhang  =  classmethod(is_5overhang)
def  is_3overhang(self)  :
return  True
def  is_3overhang(self)  :
return  False
is_3overhang  =  classmethod(is_3overhang) is_3overhang  =  classmethod(is_3overhang)
def  overhang(self)  :
return  "3' &nbsp;overhang"
def  overhang(self)  :
return  'blunt'
overhang  =  classmethod(overhang) overhang  =  classmethod(overhang)


Clone # 26
Anti-unification distance between two trees = 2
Total size of two trees = 118
Total length of sequences = 20
Source file "/home/peter/clone_digger/biopython-1.44/Bio/GenBank/__init__.py"
The first line is 1302
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Prosite/__init__.py"
The first line is 284
def  __len__(self):
raise  NotImplementedError,  "GenBank  contains  lots  of  entries"
def  __len__(self):
raise  NotImplementedError,  "Prosite  contains  lots  of  entries"
def  clear(self):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  clear(self):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  __setitem__(self,  key,  item):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  __setitem__(self,  key,  item):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  update(self):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  update(self):
raise  NotImplementedError,  "This  is  a  read-only  dictionary"
def  copy(self):
raise  NotImplementedError,  "You  don't  need  to  do  this..."
def  copy(self):
raise  NotImplementedError,  "You  don't  need  to  do  this..."
def  keys(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  keys(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  items(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  items(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  values(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  values(self):
raise  NotImplementedError,  "You  don't  really  want  to  do  this..."
def  has_key(self,  id):
try:
self[id]
except  KeyError:
return  0
return  1
def  has_key(self,  id):
try:
self[id]
except  KeyError:
return  0
return  1
def  get(self,  id,  failobj=None):
try:
return  self[id]
except  KeyError:
return  failobj
raise  "How  did  I  get  here?"
def  get(self,  id,  failobj=None):
try:
return  self[id]
except  KeyError:
return  failobj
raise  "How  did  I  get  here?"


Clone # 35
Anti-unification distance between two trees = 1
Total size of two trees = 110
Total length of sequences = 4
Source file "/home/peter/clone_digger/biopython-1.44/Bio/UniGene/__init__.py"
The first line is 333
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Enzyme/__init__.py"
The first line is 167
class  RecordParser(AbstractParser):
def  __init__(self):
self._scanner  =  _Scanner()
self._consumer  =  _RecordConsumer()
def  parse(self,  handle):
if  isinstance(handle,  File.UndoHandle):
uhandle  =  handle
uhandle  =  File.UndoHandle(handle)
self._scanner.feed(uhandle,  self._consumer)
return  self._consumer.unigene_record
class  RecordParser(AbstractParser):
def  __init__(self):
self._scanner  =  _Scanner()
self._consumer  =  _RecordConsumer()
def  parse(self,  handle):
if  isinstance(handle,  File.UndoHandle):
uhandle  =  handle
uhandle  =  File.UndoHandle(handle)
self._scanner.feed(uhandle,  self._consumer)
return  self._consumer.enzyme_record
class  Iterator:
def  __init__(self,  handle,  parser=None):
self._uhandle  =  File.UndoHandle(handle)
def  next(self):
self._parser  =  RecordParser()
lines  =  []
while  1:
line  =  self._uhandle.readline()
if  not  line:  break
if  line[:2]  ==  '//':
break
lines.append(line)
if  not  lines:
return  None
lines.append('//')
data  =  string.join(lines,'')
if  self._parser  is  not  None:
return  self._parser.parse(File.StringHandle(data))
return  data
def  __iter__(self):
return  iter(self.next,  None)
class  Iterator:
def  __init__(self,  handle,  parser=None):
self._uhandle  =  File.UndoHandle(handle)
def  next(self):
self._parser  =  RecordParser()
lines  =  []
while  1:
line  =  self._uhandle.readline()
if  not  line:  break
if  line[:2]  ==  '//':
break
lines.append(line)
if  not  lines:
return  None
lines.append('//')
data  =  string.join(lines,'')
if  self._parser  is  not  None:
return  self._parser.parse(File.StringHandle(data))
return  data
def  __iter__(self):
return  iter(self.next,  None)


Clone # 36
Anti-unification distance between two trees = 3
Total size of two trees = 110
Total length of sequences = 16
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Restriction/Restriction.py"
The first line is 1290
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Restriction/Restriction.py"
The first line is 1425
def  _drop(self)  :
length  =  len(self.dna)
drop  =  itertools.dropwhile
take  =  itertools.takewhile
if  self.dna.is_linear()  :
self.results  =  [x  for  x  in  drop(lambda  x:x<1,  self.results)]
self.results  =  [x  for  x  in  take(lambda  x:x for  index,  location  in  enumerate(self.results)  :
if  location  <  1  :
self.results[index]  +=  length
break
for  index,  location  in  enumerate(self.results[::-1])  :
if  location  >  length  :
self.results[-(index+1)]  -=  length
break
return
def  _drop(self)  :
length  =  len(self.dna)
drop  =  itertools.dropwhile
take  =  itertools.takewhile
if  self.dna.is_linear()  :
self.results  =  [x  for  x  in  drop(lambda  x  :  x  <  1,  self.results)]
self.results  =  [x  for  x  in  take(lambda  x  :  x   for  index,  location  in  enumerate(self.results)  :
if  location  <  1  :
self.results[index]  +=  length
break
for  index,  location  in  enumerate(self.results[::-1])  :
if  location  >  length  :
self.results[-(index+1)]  -=  length
break
return
_drop  =  classmethod(_drop) _drop  =  classmethod(_drop)
def  is_defined(self)  :
return  True
def  is_defined(self)  :
return  False
is_defined  =  classmethod(is_defined) is_defined  =  classmethod(is_defined)
def  is_ambiguous(self)  :
return  False
def  is_ambiguous(self)  :
return  True
is_ambiguous  =  classmethod(is_ambiguous) is_ambiguous  =  classmethod(is_ambiguous)
def  is_unknown(self)  :
return  False
def  is_unknown(self)  :
return  False
is_unknown  =  classmethod(is_unknown) is_unknown  =  classmethod(is_unknown)


Clone # 38
Anti-unification distance between two trees = 2
Total size of two trees = 105
Total length of sequences = 10
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Rebase/__init__.py"
The first line is 129
Source file "/home/peter/clone_digger/biopython-1.44/Bio/SwissProt/SProt.py"
The first line is 184
__filename_key  =  '__filename' __filename_key  =  '__filename'
def  __init__(self,  indexname,  parser=None):
self._index  =  Index.Index(indexname)
self._handle  =  open(self._index[Dictionary.__filename_key])
self._parser  =  parser
def  __init__(self,  indexname,  parser=None):
self._index  =  Index.Index(indexname)
self._handle  =  open(self._index[self.__filename_key])
self._parser  =  parser
def  __len__(self):
return  len(self._index)
def  __len__(self):
return  len(self._index)
def  __getitem__(self,  key):
start,  len  =  self._index[key]
self._handle.seek(start)
data  =  self._handle.read(len)
if  self._parser  is  not  None:
return  self._parser.parse(File.StringHandle(data))
return  data
def  __getitem__(self,  key):
start,  len  =  self._index[key]
self._handle.seek(start)
data  =  self._handle.read(len)
if  self._parser  is  not  None:
return  self._parser.parse(File.StringHandle(data))
return  data
def  __getattr__(self,  name):
return  getattr(self._index,  name)
def  __getattr__(self,  name):
return  getattr(self._index,  name)


Clone # 42
Anti-unification distance between two trees = 4
Total size of two trees = 104
Total length of sequences = 16
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Nexus/Nexus.py"
The first line is 964
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Nexus/Nexus.py"
The first line is 939
charpartition={} taxpartition={}
quotelevel=False quotelevel=False
opts=CharBuffer(options) opts=CharBuffer(options)
name=self._name_n_vector(opts) name=self._name_n_vector(opts)
if  not  name:
raise  NexusError,  'Formatting  error  in  charpartition:  %s  '  %  options
if  not  name:
raise  NexusError,  'Formatting  error  in  taxpartition:  %s  '  %  options
sub='' sub=''
while  True:
w=opts.next()
if  w  is  None  or  (w==','  and  not  quotelevel):
subname,subindices=self._get_indices(sub,set_type=CHARSET,separator=':')
charpartition[subname]=_make_unique(subindices)
sub=''
if  w  is  None:
break
if  w=="'":
quotelevel=not  quotelevel
sub+=w
while  True:
w=opts.next()
if  w  is  None  or  (w==','  and  not  quotelevel):
subname,subindices=self._get_indices(sub,set_type=TAXSET,separator=':')
taxpartition[subname]=_make_unique(subindices)
sub=''
if  w  is  None:
break
if  w=="'":
quotelevel=not  quotelevel
sub+=w
self.charpartitions[name]=charpartition self.taxpartitions[name]=taxpartition


Clone # 45
Anti-unification distance between two trees = 4
Total size of two trees = 102
Total length of sequences = 28
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Medline/nlmmedline_010319_format.py"
The first line is 243
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Medline/nlmmedline_011101_format.py"
The first line is 249
group_elem("Chemical",  CASRegistryNumber  +  NameOfSubstance) group_elem("Chemical",  Alt(CASRegistryNumber,  RegistryNumber)  +  \
NameOfSubstance)
group_elem("ChemicalList",  Rep1(Chemical)) group_elem("ChemicalList",  Rep1(Chemical))
simple_elem("CitationSubset") simple_elem("CitationSubset")
simple_elem("GeneralNote",  "Owner") simple_elem("GeneralNote",  "Owner")
group_elem("Investigator",  personal_name  +  Opt(Affiliation)) group_elem("Investigator",  personal_name  +  Opt(Affiliation))
group_elem("InvestigatorList",  Rep1(Investigator)) group_elem("InvestigatorList",  Rep1(Investigator))
simple_elem("OtherID",  "Source") simple_elem("OtherID",  "Source")
simple_elem("SpaceFlightMission") simple_elem("SpaceFlightMission")
simple_elem("Keyword",  "MajorTopicYN") simple_elem("Keyword",  "MajorTopicYN")
group_elem("KeywordList",  Rep1(Keyword),  "Owner") group_elem("KeywordList",  Rep1(Keyword),  "Owner")
group_elem("OtherAbstract",
AbstractText  +  Opt(CopyrightInformation),
"Type")
group_elem("OtherAbstract",
AbstractText  +  Opt(CopyrightInformation),
"Type")
group_elem("DateRevised",  normal_date) group_elem("DateRevised",  normal_date)
group_elem("DateCompleted",  normal_date) group_elem("DateCompleted",  normal_date)
group_elem("DateCreated",  normal_date) group_elem("DateCreated",  normal_date)


Clone # 54
Anti-unification distance between two trees = 2
Total size of two trees = 99
Total length of sequences = 14
Source file "/home/peter/clone_digger/biopython-1.44/Bio/GenBank/__init__.py"
The first line is 555
Source file "/home/peter/clone_digger/biopython-1.44/Bio/GenBank/__init__.py"
The first line is 1084
def  authors(self,  content):
self._current_ref.authors  =  content
def  authors(self,  content):
self._cur_reference.authors  =  content
def  consrtm(self,  content):
self._current_ref.consrtm  =  content
def  consrtm(self,  content):
self._cur_reference.consrtm  =  content
def  title(self,  content):
self._current_ref.title  =  content
def  title(self,  content):
self._cur_reference.title  =  content
def  journal(self,  content):
self._current_ref.journal  =  content
def  journal(self,  content):
self._cur_reference.journal  =  content
def  medline_id(self,  content):
self._current_ref.medline_id  =  content
def  medline_id(self,  content):
self._cur_reference.medline_id  =  content
def  pubmed_id(self,  content):
self._current_ref.pubmed_id  =  content
def  pubmed_id(self,  content):
self._cur_reference.pubmed_id  =  content
def  remark(self,  content):
self._current_ref.comment  =  content
def  remark(self,  content):
self._cur_reference.remark  =  content


Clone # 55
Anti-unification distance between two trees = 4
Total size of two trees = 97
Total length of sequences = 18
Source file "/home/peter/clone_digger/biopython-1.44/Bio/MEME/Parser.py"
The first line is 325
Source file "/home/peter/clone_digger/biopython-1.44/Bio/MEME/Parser.py"
The first line is 299
inst  =  Motif.Instance() inst  =  Motif.Instance()
inst._seqname  (self._current_seq) inst._seqname  (ls[0])
inst._start  (start) inst._start  (start)
r  =  re.compile('\d+') r  =  re.compile('\d+')
mn  =  r.findall(ds[i])[0] mn  =  r.findall(ds[i])[0]
if  ds[i].find('-')  !=  -1:
inst.strand  =  '-'
inst.strand  =  '+'
if  ds[i].find('-')  !=  -1:
inst.strand  =  '-'
inst.strand  =  '+'
motif  =  self.data.get_motif_by_name(mn) motif  =  self.data.get_motif_by_name(mn)
motif.add_instance(inst) motif.add_instance(inst)
start  +=  motif.length start  +=  motif.length


Clone # 62
Anti-unification distance between two trees = 4
Total size of two trees = 87
Total length of sequences = 8
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Blast/NCBIStandalone.py"
The first line is 1482
Source file "/home/peter/clone_digger/biopython-1.44/Bio/Blast/NCBIStandalone.py"
The first line is 1426
def  end_alignment(self):
_AlignmentConsumer.end_alignment(self)
if  self._alignment.hsps:
self._round.alignments.append(self._alignment)
if  self._
multiple_alignment:
self._ro
und.multiple_alignment  =  self._multiple_alignment
def  end_alignment(self):
_AlignmentConsumer.end_alignment(self)
if  self._alignment.hsps:
self.data.alignments.append(self._alignment)
if  self._m
ultiple_alignment.alignment:
self.data.
multiple_alignment  =  self._multiple_alignment
def  end_hsp(self):
_HSPConsumer.end_hsp(self)
try:
self._alignment.hsps.append(self._hsp)
except  AttributeError:
raise  SyntaxError,  "Found  an  HSP  before  an  alignment"
def  end_hsp(self):
_HSPConsumer.end_hsp(self)
try:
self._alignment.hsps.append(self._hsp)
except  AttributeError:
raise  SyntaxError,  "Found  an  HSP  before  an  alignment"
def  end_database_report(self):
_DatabaseReportConsumer.end_database_report(self)
self.data.__dict__.update(self._dr.__dict__)
def  end_database_report(self):
_DatabaseReportConsumer.end_database_report(self)
self.data.__dict__.update(self._dr.__dict__)
def  end_parameters(self):
_ParametersConsumer.end_parameters(self)
self.data.__dict__.update(self._params.__dict__)
def  end_parameters(self):
_ParametersConsumer.end_parameters(self)
self.data.__dict__.update(self._params.__dict__)


(*) Warning: the highlighting of differences is based on diff and doesn't reflect the tree-based clone detection algorithm.


Clone Digger is aimed to find software clones in Python and Java programs. It is provided under the GPL license and can be downloaded from the site http://clonedigger.sourceforge.net