diff --git a/learnMSA/msa_hmm/AlignInsertions.py b/learnMSA/msa_hmm/AlignInsertions.py index 663a683..49f2d88 100644 --- a/learnMSA/msa_hmm/AlignInsertions.py +++ b/learnMSA/msa_hmm/AlignInsertions.py @@ -6,7 +6,7 @@ import sys -def find_long_insertions_and_write_slice(fasta_file, lens, starts, name, directory, t = 20, k=2, verbose=True): +def find_long_insertions_and_write_slice(fasta_file, lens, starts, name, directory, t = 20, k=2, max_insertions_len=500, verbose=True): """ Finds insertions that have at least length t. If there are at least k of these sequences, writes them to file. Args: @@ -32,7 +32,7 @@ def find_long_insertions_and_write_slice(fasta_file, lens, starts, name, directo if aa in segment: only_non_standard_aa = False break - if only_non_standard_aa: + if only_non_standard_aa or lengths[j] > max_insertions_len: to_delete.append(j) else: slice_file.write(">"+fasta_file.seq_ids[which[j]]+"\n") diff --git a/test/data/egf.out.fasta b/test/data/egf.out.fasta index ebb456f..b9840c6 100644 --- a/test/data/egf.out.fasta +++ b/test/data/egf.out.fasta @@ -1,24 +1,24 @@ >1ixa -..vdgdqCESN...PCLNGGSCK..-DD-IN..S..YECWCPFGFEGKNcel.................... +..vdgdqCESN...PCLNGGSCK..-DD...-IN..S.YECWCPFGFEGKNcel.................... >1apo -..kdgdqCEGH...PCLNQGHCK..-DG-IG..D..YTCTCAEGFEGKNcefstr................. +..kdgdqCEGH...PCLNQGHCK..-DG...-IG..D.YTCTCAEGFEGKNcefstr................. >1urk -.......QVPSnc.DCLNGGTCV..SNK-YF..SniHWCNCPKKFGGQHceidk.................. +......qVPSNc..DCLNGGTCV..-SNkyfS-N..I.HWCNCPKKFGGQHceidk.................. >1fsb -....tasCQDM...SCSKQGECL..-ET-IG..N..YTCSCYPGFYGPEceyvre................. +....tasCQDM...SCSKQGECL..-ET...-IG..N.YTCSCYPGFYGPEceyvre................. >1esl -......aCTNT...SCSGHGECV..-ET-IN..N..YTCKCDPGFSGLKceqiv.................. +......aCTNT...SCSGHGECV..-ET...-IN..N.YTCKCDPGFSGLKceqiv.................. >1hre -gtshlvkCAEKektFCVNGGECFmvKDL-SNpsR..YLCKCQPGFTGARctenvpmkvqnqekaeelyqk.. +gtshlvkCAEKektFCVNGGECFmvKDL...-SNpsR.YLCKCQPGFTGARctenvpmkvqnqekaeelyqk.. >1epi -..nsypgCPSSydgYCLNGGVCMh.IES-LD..S..YTCNCVIGYSGDRcqtrdlrwwelr........... +..nsypgCPSSydgYCLNGGVCMh.IES...-LD..S.YTCNCVIGYSGDRcqtrdlrwwelr........... >4tgf -vvshfndCPDShtqFCFH-GTCRf.LVQ-ED..K..PACVCHSGYVGARcehadlla............... +vvshfndCPDShtqFCFH-GTCRf.LVQ...-ED..K.PACVCHSGYVGARcehadlla............... >1hcgb -.......CSLD...NGDCDQFCH..-EE-QN..S..VVCSCARGYTLADngkaciptgpypcgkqtler... +.......CSLD...NGDCDQFCH..-EE...-QN..S.VVCSCARGYTLADngkaciptgpypcgkqtler... >1dan1 -....gdqCASS...PCQNGGSCK..-DQ-LQ..S..YICFCLPAFEGRNcethkd................. +....gdqCASS...PCQNGGSCK..-DQ...-LQ..S.YICFCLPAFEGRNcethkd................. >1dan2 -...dqliCVNE...NGGCEQYCS..-DH-TG..Tk.RSCRCHEGYSLLAdgvsctptveypcgkipile... +...dqliCVNE...NGGCEQYCS..-DH...-TG..TkRSCRCHEGYSLLAdgvsctptveypcgkipile... >1rfnb -.....mtCNIK...NGRCEQFCK..-NSADN..K..VVCSCTEGYRLAEnqkscepavpfpcgrvsvsqtsk +.....mtCNIK...NGRCEQFCK..-NS...ADN..K.VVCSCTEGYRLAEnqkscepavpfpcgrvsvsqtsk