private static void fill_reference(CitationReference reference, long id)
        {
            Reference       refe     = new Reference(reference, id);
            MySqlCommand    cmmd13   = new MySqlCommand(refe.get_query(), conn);
            MySqlDataReader reader13 = cmmd13.ExecuteReader();

            reader13.Close();
        }
Exemple #2
0
 public static string CreateReferenceURL(CitationReference r)
 {
     if (r.PubMed != null)
     {
         return("http://www.ncbi.nlm.nih.gov/pubmed/" + r.PubMed);
     }
     else
     {
         return("http://academic.research.microsoft.com/Search.aspx?query=" + System.Web.HttpUtility.UrlEncode(r.Title));
     }
 }
Exemple #3
0
 public Reference(CitationReference reference, long id)
 {
     if (id < 1)
     {
         UpdaterException.check_data_exception(true);
     }
     this.id            = 0;
     this.prokaryote_id = id;
     this.authors       = reference.Authors;
     this.consortium    = reference.Consortiums;
     this.journal       = reference.Journal;
     this.location      = reference.Location;
     this.medline       = reference.Medline;
     this.pub_med       = reference.PubMed;
     this.remark        = reference.Remarks;
     this.title         = reference.Title;
 }
Exemple #4
0
        public void GenBankMetadataClone()
        {
            LocationBuilder locBuilder = new LocationBuilder();
            GenBankMetadata metadata   = new GenBankMetadata();

            metadata.Accession         = new GenBankAccession();
            metadata.Accession.Primary = "PAccession";
            metadata.Accession.Secondary.Add("SAccession1");
            metadata.Accession.Secondary.Add("SAccession2");
            metadata.BaseCount = "a 1 c 2";
            metadata.Comments.Add("Comment1");
            metadata.Comments.Add("Comment2");
            metadata.Contig      = "Contig Info";
            metadata.DBLink      = new CrossReferenceLink();
            metadata.DBLink.Type = CrossReferenceType.Project;
            metadata.DBLink.Numbers.Add("100");
            metadata.DBLink.Numbers.Add("200");
            metadata.DBSource   = "DbSourceInfo";
            metadata.Definition = "Defination info";
            metadata.Features   = new SequenceFeatures();
            FeatureItem   feature         = new FeatureItem("feature1", "1");
            List <string> qualifierValues = new List <string>();

            qualifierValues.Add("qualifier1value1");
            qualifierValues.Add("qualifier1value2");
            feature.Qualifiers.Add("qualifier1", qualifierValues);
            metadata.Features.All.Add(feature);

            feature         = new FeatureItem("feature2", "2");
            qualifierValues = new List <string>();
            qualifierValues.Add("qualifier2value1");
            qualifierValues.Add("qualifier2value2");
            feature.Qualifiers.Add("qualifier2", qualifierValues);
            metadata.Features.All.Add(feature);
            feature         = new FeatureItem("feature2", "2");
            qualifierValues = new List <string>();
            qualifierValues.Add("qualifier2value1");
            qualifierValues.Add("qualifier2value2");
            feature.Qualifiers.Add("qualifier2", qualifierValues);
            metadata.Features.All.Add(feature);

            metadata.Keywords             = "keywords data";
            metadata.Locus                = new GenBankLocusInfo();
            metadata.Locus.Date           = DateTime.Now;
            metadata.Locus.DivisionCode   = SequenceDivisionCode.CON;
            metadata.Locus.MoleculeType   = MoleculeType.DNA;
            metadata.Locus.Name           = "LocusName";
            metadata.Locus.SequenceLength = 100;
            metadata.Locus.SequenceType   = "bp";
            metadata.Locus.Strand         = SequenceStrandType.Double;
            metadata.Locus.StrandTopology = SequenceStrandTopology.Linear;
            metadata.Origin               = "origin info";
            metadata.Primary              = "Primary info";
            metadata.Project              = new ProjectIdentifier();
            metadata.Project.Name         = "Project1";
            metadata.Project.Numbers.Add("101");
            metadata.Project.Numbers.Add("201");
            CitationReference reference = new CitationReference();

            reference.Authors     = "Authors";
            reference.Consortiums = "Consortiums";
            reference.Journal     = "Journal";
            reference.Location    = "3";
            reference.Medline     = "Medline info";
            reference.Number      = 1;
            reference.PubMed      = "pubmid";
            reference.Remarks     = "remarks";
            reference.Title       = "Title of the book";
            metadata.References.Add(reference);
            reference             = new CitationReference();
            reference.Authors     = "Authors";
            reference.Consortiums = "Consortiums";
            reference.Journal     = "Journal";
            reference.Location    = "4";
            reference.Medline     = "Medline info";
            reference.Number      = 2;
            reference.PubMed      = "pubmid";
            reference.Remarks     = "remarks";
            reference.Title       = "Title of the book";
            metadata.References.Add(reference);
            metadata.Segment                     = new SequenceSegment();
            metadata.Segment.Count               = 2;
            metadata.Segment.Current             = 1;
            metadata.Source                      = new SequenceSource();
            metadata.Source.CommonName           = "ABC Xyz";
            metadata.Source.Organism.Genus       = "ABC";
            metadata.Source.Organism.Species     = "Xyz";
            metadata.Source.Organism.ClassLevels = "123 123";
            metadata.Version                     = new GenBankVersion();
            metadata.Version.Accession           = "PAccession";
            metadata.Version.Version             = "1";
            metadata.Version.GINumber            = "12345";

            GenBankMetadata clonemetadta = metadata.Clone();

            Assert.AreEqual(clonemetadta.Accession.Primary, metadata.Accession.Primary);

            for (int i = 0; i < clonemetadta.Accession.Secondary.Count; i++)
            {
                Assert.AreEqual(clonemetadta.Accession.Secondary[i], metadata.Accession.Secondary[i]);
            }

            Assert.AreEqual(clonemetadta.BaseCount, metadata.BaseCount);

            for (int i = 0; i < clonemetadta.Comments.Count; i++)
            {
                Assert.AreEqual(clonemetadta.Comments[i], metadata.Comments[i]);
            }

            Assert.AreEqual(clonemetadta.Contig, metadata.Contig);

            Assert.AreEqual(clonemetadta.DBLink.Type, metadata.DBLink.Type);

            for (int i = 0; i < clonemetadta.DBLink.Numbers.Count; i++)
            {
                Assert.AreEqual(clonemetadta.DBLink.Numbers[i], metadata.DBLink.Numbers[i]);
            }

            Assert.AreEqual(clonemetadta.DBSource, metadata.DBSource);
            Assert.AreEqual(clonemetadta.Definition, metadata.Definition);

            for (int i = 0; i < clonemetadta.Features.All.Count; i++)
            {
                Assert.AreEqual(clonemetadta.Features.All[i].Key, metadata.Features.All[i].Key);
                Assert.AreEqual(locBuilder.GetLocationString(clonemetadta.Features.All[i].Location), locBuilder.GetLocationString(metadata.Features.All[i].Location));

                foreach (KeyValuePair <string, List <string> > kvp in clonemetadta.Features.All[i].Qualifiers)
                {
                    if (metadata.Features.All[i].Qualifiers.ContainsKey(kvp.Key))
                    {
                        if (kvp.Value == null)
                        {
                            Assert.IsNull(metadata.Features.All[i].Qualifiers[kvp.Key]);
                        }
                        else
                        {
                            for (int j = 0; j < kvp.Value.Count; j++)
                            {
                                Assert.AreEqual(kvp.Value[j], metadata.Features.All[i].Qualifiers[kvp.Key][j]);
                            }
                        }
                    }
                    else
                    {
                        Assert.Fail();
                    }
                }
            }

            Assert.AreEqual(clonemetadta.Keywords, metadata.Keywords);
            Assert.AreEqual(clonemetadta.Locus.Date, metadata.Locus.Date);
            Assert.AreEqual(clonemetadta.Locus.DivisionCode, metadata.Locus.DivisionCode);
            Assert.AreEqual(clonemetadta.Locus.MoleculeType, metadata.Locus.MoleculeType);
            Assert.AreEqual(clonemetadta.Locus.Name, metadata.Locus.Name);
            Assert.AreEqual(clonemetadta.Locus.SequenceLength, metadata.Locus.SequenceLength);
            Assert.AreEqual(clonemetadta.Locus.SequenceType, metadata.Locus.SequenceType);
            Assert.AreEqual(clonemetadta.Locus.Strand, metadata.Locus.Strand);
            Assert.AreEqual(clonemetadta.Locus.StrandTopology, metadata.Locus.StrandTopology);
            Assert.AreEqual(clonemetadta.Origin, clonemetadta.Origin);
            Assert.AreEqual(clonemetadta.Primary, metadata.Primary);
            Assert.AreEqual(clonemetadta.Project.Name, metadata.Project.Name);
            for (int i = 0; i < clonemetadta.Project.Numbers.Count; i++)
            {
                Assert.AreEqual(clonemetadta.Project.Numbers[i], metadata.Project.Numbers[i]);
            }

            for (int i = 0; i < clonemetadta.References.Count; i++)
            {
                Assert.AreEqual(clonemetadta.References[i].Authors, metadata.References[i].Authors);
                Assert.AreEqual(clonemetadta.References[i].Consortiums, metadata.References[i].Consortiums);
                Assert.AreEqual(clonemetadta.References[i].Journal, metadata.References[i].Journal);
                Assert.AreEqual(clonemetadta.References[i].Location, metadata.References[i].Location);
                Assert.AreEqual(clonemetadta.References[i].Medline, metadata.References[i].Medline);
                Assert.AreEqual(clonemetadta.References[i].Number, metadata.References[i].Number);
                Assert.AreEqual(clonemetadta.References[i].PubMed, metadata.References[i].PubMed);
                Assert.AreEqual(clonemetadta.References[i].Remarks, metadata.References[i].Remarks);
                Assert.AreEqual(clonemetadta.References[i].Title, metadata.References[i].Title);
            }

            Assert.AreEqual(clonemetadta.Segment.Current, metadata.Segment.Current);
            Assert.AreEqual(clonemetadta.Segment.Count, metadata.Segment.Count);
            Assert.AreEqual(clonemetadta.Source.CommonName, metadata.Source.CommonName);
            Assert.AreEqual(clonemetadta.Source.Organism.ClassLevels, metadata.Source.Organism.ClassLevels);
            Assert.AreEqual(clonemetadta.Source.Organism.Genus, metadata.Source.Organism.Genus);
            Assert.AreEqual(clonemetadta.Source.Organism.Species, metadata.Source.Organism.Species);
            Assert.AreEqual(clonemetadta.Version.Accession, metadata.Version.Accession);
            Assert.AreEqual(clonemetadta.Version.CompoundAccession, metadata.Version.CompoundAccession);
            Assert.AreEqual(clonemetadta.Version.GINumber, metadata.Version.GINumber);
            Assert.AreEqual(clonemetadta.Version.Version, metadata.Version.Version);
        }
Exemple #5
0
        /// <summary>
        /// Add GenBank metadata
        /// </summary>
        /// <param name="metadata">GenBank Metadata</param>
        /// <returns>GenBank Metadat</returns>
        private static GenBankMetadata AddGenBankMetadata(GenBankMetadata metadata)
        {
            metadata.Accession         = new GenBankAccession();
            metadata.Accession.Primary = "PAccession";
            metadata.Accession.Secondary.Add("SAccession1");
            metadata.Accession.Secondary.Add("SAccession2");
            metadata.BaseCount = "a 1 c 2";
            metadata.Comments.Add("Comment1");
            metadata.Comments.Add("Comment2");
            metadata.Contig      = "Contig Info";
            metadata.DBLink      = new CrossReferenceLink();
            metadata.DBLink.Type = CrossReferenceType.Project;
            metadata.DBLink.Numbers.Add("100");
            metadata.DBLink.Numbers.Add("200");
            metadata.DBSource   = "DbSourceInfo";
            metadata.Definition = "Defination info";
            metadata.Features   = new SequenceFeatures();
            FeatureItem   feature         = new FeatureItem("feature1", "1");
            List <string> qualifierValues = new List <string>();

            qualifierValues.Add("qualifier1value1");
            qualifierValues.Add("qualifier1value2");
            feature.Qualifiers.Add("qualifier1", qualifierValues);
            metadata.Features.All.Add(feature);

            feature         = new FeatureItem("feature2", "2");
            qualifierValues = new List <string>();
            qualifierValues.Add("qualifier2value1");
            qualifierValues.Add("qualifier2value2");
            feature.Qualifiers.Add("qualifier2", qualifierValues);
            metadata.Features.All.Add(feature);
            feature         = new FeatureItem("feature2", "2");
            qualifierValues = new List <string>();
            qualifierValues.Add("qualifier2value1");
            qualifierValues.Add("qualifier2value2");
            feature.Qualifiers.Add("qualifier2", qualifierValues);
            metadata.Features.All.Add(feature);

            metadata.Keywords             = "keywords data";
            metadata.Locus                = new GenBankLocusInfo();
            metadata.Locus.Date           = DateTime.Now;
            metadata.Locus.DivisionCode   = SequenceDivisionCode.CON;
            metadata.Locus.MoleculeType   = MoleculeType.DNA;
            metadata.Locus.Name           = "LocusName";
            metadata.Locus.SequenceLength = 100;
            metadata.Locus.SequenceType   = "bp";
            metadata.Locus.Strand         = SequenceStrandType.Double;
            metadata.Locus.StrandTopology = SequenceStrandTopology.Linear;
            metadata.Origin               = "origin info";
            metadata.Primary              = "Primary info";
            metadata.Project              = new ProjectIdentifier();
            metadata.Project.Name         = "Project1";
            metadata.Project.Numbers.Add("101");
            metadata.Project.Numbers.Add("201");
            CitationReference reference = new CitationReference();

            reference.Authors     = "Authors";
            reference.Consortiums = "Consortiums";
            reference.Journal     = "Journal";
            reference.Location    = "3";
            reference.Medline     = "Medline info";
            reference.Number      = 1;
            reference.PubMed      = "pubmid";
            reference.Remarks     = "remarks";
            reference.Title       = "Title of the book";
            metadata.References.Add(reference);
            reference             = new CitationReference();
            reference.Authors     = "Authors";
            reference.Consortiums = "Consortiums";
            reference.Journal     = "Journal";
            reference.Location    = "4";
            reference.Medline     = "Medline info";
            reference.Number      = 2;
            reference.PubMed      = "pubmid";
            reference.Remarks     = "remarks";
            reference.Title       = "Title of the book";
            metadata.References.Add(reference);
            metadata.Segment                     = new SequenceSegment();
            metadata.Segment.Count               = 2;
            metadata.Segment.Current             = 1;
            metadata.Source                      = new SequenceSource();
            metadata.Source.CommonName           = "ABC Xyz";
            metadata.Source.Organism.Genus       = "ABC";
            metadata.Source.Organism.Species     = "Xyz";
            metadata.Source.Organism.ClassLevels = "123 123";
            metadata.Version                     = new GenBankVersion();
            metadata.Version.Accession           = "PAccession";
            metadata.Version.Version             = "1";
            metadata.Version.GINumber            = "12345";

            return(metadata);
        }
Exemple #6
0
 public static string CreateReferenceURL(CitationReference r)
 {
     if (r.PubMed != null)
     {
         return "http://www.ncbi.nlm.nih.gov/pubmed/" + r.PubMed;
     }
     else
     {
         return "http://academic.research.microsoft.com/Search.aspx?query=" + System.Web.HttpUtility.UrlEncode(r.Title);
     }
 }